summaryrefslogtreecommitdiffstats
path: root/clang/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
commiteed30e5a81a5d40f3c1330a379b8fc8077315bd9 (patch)
tree541ddb546da579c7ef8678c02d5396f3d74af792 /clang/test/Profile/c-attributes.c
parentc6021038f65a577ed255b624ada4c255726b8d0c (diff)
downloadbcm5719-llvm-eed30e5a81a5d40f3c1330a379b8fc8077315bd9.tar.gz
bcm5719-llvm-eed30e5a81a5d40f3c1330a379b8fc8077315bd9.zip
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 llvm-svn: 256793
Diffstat (limited to 'clang/test/Profile/c-attributes.c')
-rw-r--r--clang/test/Profile/c-attributes.c48
1 files changed, 0 insertions, 48 deletions
diff --git a/clang/test/Profile/c-attributes.c b/clang/test/Profile/c-attributes.c
deleted file mode 100644
index 2dcc180624c..00000000000
--- a/clang/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;
-}
OpenPOWER on IntegriCloud