summaryrefslogtreecommitdiff
path: root/test/Profile/c-attributes.c
diff options
context:
space:
mode:
authorEaswaran Raman <eraman@google.com>2016-01-04 23:32:28 +0000
committerEaswaran Raman <eraman@google.com>2016-01-04 23:32:28 +0000
commit2edc5af5d22b08b138aecc949cc96f2ed6cadf1b (patch)
tree41c985543f3f629eb6f640e46bac35815cbdbdfd /test/Profile/c-attributes.c
parentc2ca783d8b070d01b8d30b6c1d447563a6412af5 (diff)
downloadclang-2edc5af5d22b08b138aecc949cc96f2ed6cadf1b.tar.gz
Remove setting of inlinehint and cold attributes based on profile data
NFC. These hints are only used for inlining and the inliner now uses the same criteria to identify hot and cold callees and set appropriate thresholds without relying on these hints. Hence this removed code is superfluous. Differential Revision: http://reviews.llvm.org/D15726 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@256793 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Profile/c-attributes.c')
-rw-r--r--test/Profile/c-attributes.c48
1 files changed, 0 insertions, 48 deletions
diff --git a/test/Profile/c-attributes.c b/test/Profile/c-attributes.c
deleted file mode 100644
index 2dcc180624..0000000000
--- a/test/Profile/c-attributes.c
+++ /dev/null
@@ -1,48 +0,0 @@
-// Test that instrumentation based profiling sets function attributes correctly.
-
-// RUN: llvm-profdata merge %S/Inputs/c-attributes.proftext -o %t.profdata
-// RUN: %clang %s -o - -mllvm -disable-llvm-optzns -emit-llvm -S -fprofile-instr-use=%t.profdata | FileCheck %s
-
-extern int atoi(const char *);
-
-// CHECK: hot_100_percent(i32{{.*}}%i) [[HOT:#[0-9]+]]
-void hot_100_percent(int i) {
- while (i > 0)
- i--;
-}
-
-// CHECK: hot_40_percent(i32{{.*}}%i) [[HOT]]
-void hot_40_percent(int i) {
- while (i > 0)
- i--;
-}
-
-// CHECK: normal_func(i32{{.*}}%i) [[NORMAL:#[0-9]+]]
-void normal_func(int i) {
- while (i > 0)
- i--;
-}
-
-// CHECK: cold_func(i32{{.*}}%i) [[COLD:#[0-9]+]]
-void cold_func(int i) {
- while (i > 0)
- i--;
-}
-
-// CHECK: attributes [[HOT]] = { inlinehint nounwind {{.*}} }
-// CHECK: attributes [[NORMAL]] = { nounwind {{.*}} }
-// CHECK: attributes [[COLD]] = { cold nounwind {{.*}} }
-
-int main(int argc, const char *argv[]) {
- int max = atoi(argv[1]);
- int i;
- for (i = 0; i < max; i++)
- hot_100_percent(i);
- for (i = 0; i < max * 4 / 10; i++)
- hot_40_percent(i);
- for (i = 0; i < max * 2 / 10; i++)
- normal_func(i);
- for (i = 0; i < max / 200; i++)
- cold_func(i);
- return 0;
-}