summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2014-03-18 21:58:06 +0000
committerJustin Bogner <mail@justinbogner.com>2014-03-18 21:58:06 +0000
commitb4416f58d54bec73aeefa3122fb195ab1dd73517 (patch)
treed6fac4cc9299a96b332f6e2ea3f14d462661f956 /clang/test
parentbc9c856161118a6be1b956221ed52bae27286eed (diff)
downloadbcm5719-llvm-b4416f58d54bec73aeefa3122fb195ab1dd73517.tar.gz
bcm5719-llvm-b4416f58d54bec73aeefa3122fb195ab1dd73517.zip
CodeGen: Include a function hash in instrumentation based profiling
The hash itself is still the number of counters, which isn't all that useful, but this separates the API changes from the actual implementation of the hash and will make it easier to transition to the ProfileData library once it's implemented. llvm-svn: 204186
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/Profile/Inputs/c-attributes.profdata20
-rw-r--r--clang/test/Profile/Inputs/c-counter-overflows.profdata4
-rw-r--r--clang/test/Profile/Inputs/c-general.profdata44
-rw-r--r--clang/test/Profile/Inputs/c-outdated-data.profdata8
-rw-r--r--clang/test/Profile/Inputs/cxx-class.profdata28
-rw-r--r--clang/test/Profile/Inputs/cxx-throws.profdata8
-rw-r--r--clang/test/Profile/Inputs/objc-general.profdata12
-rw-r--r--clang/test/Profile/c-linkage.c10
-rw-r--r--clang/test/Profile/cxx-linkage.cpp10
9 files changed, 103 insertions, 41 deletions
diff --git a/clang/test/Profile/Inputs/c-attributes.profdata b/clang/test/Profile/Inputs/c-attributes.profdata
index 38decbd5568..97e682480dc 100644
--- a/clang/test/Profile/Inputs/c-attributes.profdata
+++ b/clang/test/Profile/Inputs/c-attributes.profdata
@@ -1,20 +1,30 @@
-hot_100_percent 2
+hot_100_percent
+2
+2
100000
4999950000
-hot_40_percent 2
+hot_40_percent
+2
+2
40000
799980000
-normal_func 2
+normal_func
+2
+2
20000
199990000
-cold_func 2
+cold_func
+2
+2
500
124750
-main 6
+main
+6
+6
1
0
100000
diff --git a/clang/test/Profile/Inputs/c-counter-overflows.profdata b/clang/test/Profile/Inputs/c-counter-overflows.profdata
index 377a08502d1..24863780ef8 100644
--- a/clang/test/Profile/Inputs/c-counter-overflows.profdata
+++ b/clang/test/Profile/Inputs/c-counter-overflows.profdata
@@ -1,4 +1,6 @@
-main 8
+main
+8
+8
1
68719476720
64424509425
diff --git a/clang/test/Profile/Inputs/c-general.profdata b/clang/test/Profile/Inputs/c-general.profdata
index 083b8fe55b4..a1d56104a21 100644
--- a/clang/test/Profile/Inputs/c-general.profdata
+++ b/clang/test/Profile/Inputs/c-general.profdata
@@ -1,10 +1,14 @@
-simple_loops 4
+simple_loops
+4
+4
1
100
100
75
-conditionals 11
+conditionals
+11
+11
1
100
50
@@ -17,7 +21,9 @@ conditionals 11
99
100
-early_exits 9
+early_exits
+9
+9
1
0
51
@@ -28,7 +34,9 @@ early_exits 9
1
0
-jumps 22
+jumps
+22
+22
1
1
0
@@ -52,7 +60,9 @@ jumps 22
10
9
-switches 19
+switches
+19
+19
1
1
1
@@ -73,7 +83,9 @@ switches 19
1
0
-big_switch 17
+big_switch
+17
+17
1
32
32
@@ -92,7 +104,9 @@ big_switch 17
2
2
-boolean_operators 8
+boolean_operators
+8
+8
1
100
34
@@ -102,7 +116,9 @@ boolean_operators 8
33
50
-boolop_loops 9
+boolop_loops
+9
+9
1
50
51
@@ -113,16 +129,22 @@ boolop_loops 9
50
26
-do_fallthrough 4
+do_fallthrough
+4
+4
1
10
2
8
-main 1
+main
+1
+1
1
-c-general.c:static_func 2
+c-general.c:static_func
+2
+2
1
10
diff --git a/clang/test/Profile/Inputs/c-outdated-data.profdata b/clang/test/Profile/Inputs/c-outdated-data.profdata
index e1c51a6975d..27015be82d0 100644
--- a/clang/test/Profile/Inputs/c-outdated-data.profdata
+++ b/clang/test/Profile/Inputs/c-outdated-data.profdata
@@ -1,8 +1,12 @@
-no_usable_data 3
+no_usable_data
+3
+3
1
0
0
-main 1
+main
+1
+1
1
diff --git a/clang/test/Profile/Inputs/cxx-class.profdata b/clang/test/Profile/Inputs/cxx-class.profdata
index 983ab551165..756640d2f33 100644
--- a/clang/test/Profile/Inputs/cxx-class.profdata
+++ b/clang/test/Profile/Inputs/cxx-class.profdata
@@ -1,27 +1,41 @@
-_Z14simple_wrapperv 2
+_Z14simple_wrapperv
+2
+2
1
100
-main 1
+main
+1
+1
1
-_ZN6SimpleD1Ev 2
+_ZN6SimpleD1Ev
+2
+2
0
0
-_ZN6SimpleD2Ev 2
+_ZN6SimpleD2Ev
+2
+2
100
99
-_ZN6Simple6methodEv 2
+_ZN6Simple6methodEv
+2
+2
100
99
-_ZN6SimpleC1Ei 2
+_ZN6SimpleC1Ei
+2
+2
0
0
-_ZN6SimpleC2Ei 2
+_ZN6SimpleC2Ei
+2
+2
100
99
diff --git a/clang/test/Profile/Inputs/cxx-throws.profdata b/clang/test/Profile/Inputs/cxx-throws.profdata
index a49522f5584..01e6c3c286e 100644
--- a/clang/test/Profile/Inputs/cxx-throws.profdata
+++ b/clang/test/Profile/Inputs/cxx-throws.profdata
@@ -1,4 +1,6 @@
-_Z6throwsv 9
+_Z6throwsv
+9
+9
1
100
100
@@ -9,6 +11,8 @@ _Z6throwsv 9
33
100
-main 1
+main
+1
+1
1
diff --git a/clang/test/Profile/Inputs/objc-general.profdata b/clang/test/Profile/Inputs/objc-general.profdata
index 06c9832b3c5..8841e908c92 100644
--- a/clang/test/Profile/Inputs/objc-general.profdata
+++ b/clang/test/Profile/Inputs/objc-general.profdata
@@ -1,11 +1,17 @@
-objc-general.m:__13+[A foreach:]_block_invoke 2
+objc-general.m:__13+[A foreach:]_block_invoke
+2
+2
2
1
-objc-general.m:+[A foreach:] 2
+objc-general.m:+[A foreach:]
+2
+2
1
2
-main 1
+main
+1
+1
1
diff --git a/clang/test/Profile/c-linkage.c b/clang/test/Profile/c-linkage.c
index dddc895068c..22a2535c4e4 100644
--- a/clang/test/Profile/c-linkage.c
+++ b/clang/test/Profile/c-linkage.c
@@ -3,18 +3,18 @@
// CHECK: @__llvm_pgo_counters_foo = global [1 x i64] zeroinitializer, section "__DATA,__llvm_pgo_cnts", align 8
// CHECK: @__llvm_pgo_name_foo = constant [3 x i8] c"foo", section "__DATA,__llvm_pgo_names", align 1
-// CHECK: @__llvm_pgo_data_foo = constant { i32, i32, i8*, i64* } { i32 3, i32 1, i8* getelementptr inbounds ([3 x i8]* @__llvm_pgo_name_foo, i32 0, i32 0), i64* getelementptr inbounds ([1 x i64]* @__llvm_pgo_counters_foo, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
+// CHECK: @__llvm_pgo_data_foo = constant { i32, i32, i64, i8*, i64* } { i32 3, i32 1, i64 1, i8* getelementptr inbounds ([3 x i8]* @__llvm_pgo_name_foo, i32 0, i32 0), i64* getelementptr inbounds ([1 x i64]* @__llvm_pgo_counters_foo, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
void foo(void) { }
// CHECK: @__llvm_pgo_counters_foo_weak = weak global [5 x i64] zeroinitializer, section "__DATA,__llvm_pgo_cnts", align 8
// CHECK: @__llvm_pgo_name_foo_weak = weak constant [8 x i8] c"foo_weak", section "__DATA,__llvm_pgo_names", align 1
-// CHECK: @__llvm_pgo_data_foo_weak = weak constant { i32, i32, i8*, i64* } { i32 8, i32 5, i8* getelementptr inbounds ([8 x i8]* @__llvm_pgo_name_foo_weak, i32 0, i32 0), i64* getelementptr inbounds ([5 x i64]* @__llvm_pgo_counters_foo_weak, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
+// CHECK: @__llvm_pgo_data_foo_weak = weak constant { i32, i32, i64, i8*, i64* } { i32 8, i32 5, i64 5, i8* getelementptr inbounds ([8 x i8]* @__llvm_pgo_name_foo_weak, i32 0, i32 0), i64* getelementptr inbounds ([5 x i64]* @__llvm_pgo_counters_foo_weak, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
void foo_weak(void) __attribute__((weak));
void foo_weak(void) { if (0){} if (0){} if (0){} if (0){} }
// CHECK: @__llvm_pgo_counters_main = global [1 x i64] zeroinitializer, section "__DATA,__llvm_pgo_cnts", align 8
// CHECK: @__llvm_pgo_name_main = constant [4 x i8] c"main", section "__DATA,__llvm_pgo_names", align 1
-// CHECK: @__llvm_pgo_data_main = constant { i32, i32, i8*, i64* } { i32 4, i32 1, i8* getelementptr inbounds ([4 x i8]* @__llvm_pgo_name_main, i32 0, i32 0), i64* getelementptr inbounds ([1 x i64]* @__llvm_pgo_counters_main, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
+// CHECK: @__llvm_pgo_data_main = constant { i32, i32, i64, i8*, i64* } { i32 4, i32 1, i64 1, i8* getelementptr inbounds ([4 x i8]* @__llvm_pgo_name_main, i32 0, i32 0), i64* getelementptr inbounds ([1 x i64]* @__llvm_pgo_counters_main, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
static void foo_internal(void);
int main(void) {
foo();
@@ -25,7 +25,7 @@ int main(void) {
// CHECK: @__llvm_pgo_counters_foo_internal = internal global [3 x i64] zeroinitializer, section "__DATA,__llvm_pgo_cnts", align 8
// CHECK: @__llvm_pgo_name_foo_internal = internal constant [24 x i8] c"c-linkage.c:foo_internal", section "__DATA,__llvm_pgo_names", align 1
-// CHECK: @__llvm_pgo_data_foo_internal = internal constant { i32, i32, i8*, i64* } { i32 24, i32 3, i8* getelementptr inbounds ([24 x i8]* @__llvm_pgo_name_foo_internal, i32 0, i32 0), i64* getelementptr inbounds ([3 x i64]* @__llvm_pgo_counters_foo_internal, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
+// CHECK: @__llvm_pgo_data_foo_internal = internal constant { i32, i32, i64, i8*, i64* } { i32 24, i32 3, i64 3, i8* getelementptr inbounds ([24 x i8]* @__llvm_pgo_name_foo_internal, i32 0, i32 0), i64* getelementptr inbounds ([3 x i64]* @__llvm_pgo_counters_foo_internal, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
static void foo_internal(void) { if (0){} if (0){} }
-// CHECK: @llvm.used = appending global [4 x i8*] [i8* bitcast ({ i32, i32, i8*, i64* }* @__llvm_pgo_data_foo to i8*), i8* bitcast ({ i32, i32, i8*, i64* }* @__llvm_pgo_data_foo_weak to i8*), i8* bitcast ({ i32, i32, i8*, i64* }* @__llvm_pgo_data_main to i8*), i8* bitcast ({ i32, i32, i8*, i64* }* @__llvm_pgo_data_foo_internal to i8*)], section "llvm.metadata"
+// CHECK: @llvm.used = appending global [4 x i8*] [i8* bitcast ({ i32, i32, i64, i8*, i64* }* @__llvm_pgo_data_foo to i8*), i8* bitcast ({ i32, i32, i64, i8*, i64* }* @__llvm_pgo_data_foo_weak to i8*), i8* bitcast ({ i32, i32, i64, i8*, i64* }* @__llvm_pgo_data_main to i8*), i8* bitcast ({ i32, i32, i64, i8*, i64* }* @__llvm_pgo_data_foo_internal to i8*)], section "llvm.metadata"
diff --git a/clang/test/Profile/cxx-linkage.cpp b/clang/test/Profile/cxx-linkage.cpp
index 6597e25105b..8c49dff26a5 100644
--- a/clang/test/Profile/cxx-linkage.cpp
+++ b/clang/test/Profile/cxx-linkage.cpp
@@ -2,18 +2,18 @@
// CHECK: @__llvm_pgo_counters__Z3foov = global [1 x i64] zeroinitializer, section "__DATA,__llvm_pgo_cnts", align 8
// CHECK: @__llvm_pgo_name__Z3foov = constant [7 x i8] c"_Z3foov", section "__DATA,__llvm_pgo_names", align 1
-// CHECK: @__llvm_pgo_data__Z3foov = constant { i32, i32, i8*, i64* } { i32 7, i32 1, i8* getelementptr inbounds ([7 x i8]* @__llvm_pgo_name__Z3foov, i32 0, i32 0), i64* getelementptr inbounds ([1 x i64]* @__llvm_pgo_counters__Z3foov, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
+// CHECK: @__llvm_pgo_data__Z3foov = constant { i32, i32, i64, i8*, i64* } { i32 7, i32 1, i64 1, i8* getelementptr inbounds ([7 x i8]* @__llvm_pgo_name__Z3foov, i32 0, i32 0), i64* getelementptr inbounds ([1 x i64]* @__llvm_pgo_counters__Z3foov, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
void foo(void) { }
// CHECK: @__llvm_pgo_counters__Z8foo_weakv = weak global [5 x i64] zeroinitializer, section "__DATA,__llvm_pgo_cnts", align 8
// CHECK: @__llvm_pgo_name__Z8foo_weakv = weak constant [12 x i8] c"_Z8foo_weakv", section "__DATA,__llvm_pgo_names", align 1
-// CHECK: @__llvm_pgo_data__Z8foo_weakv = weak constant { i32, i32, i8*, i64* } { i32 12, i32 5, i8* getelementptr inbounds ([12 x i8]* @__llvm_pgo_name__Z8foo_weakv, i32 0, i32 0), i64* getelementptr inbounds ([5 x i64]* @__llvm_pgo_counters__Z8foo_weakv, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
+// CHECK: @__llvm_pgo_data__Z8foo_weakv = weak constant { i32, i32, i64, i8*, i64* } { i32 12, i32 5, i64 5, i8* getelementptr inbounds ([12 x i8]* @__llvm_pgo_name__Z8foo_weakv, i32 0, i32 0), i64* getelementptr inbounds ([5 x i64]* @__llvm_pgo_counters__Z8foo_weakv, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
void foo_weak(void) __attribute__((weak));
void foo_weak(void) { if (0){} if (0){} if (0){} if (0){} }
// CHECK: @__llvm_pgo_counters_main = global [1 x i64] zeroinitializer, section "__DATA,__llvm_pgo_cnts", align 8
// CHECK: @__llvm_pgo_name_main = constant [4 x i8] c"main", section "__DATA,__llvm_pgo_names", align 1
-// CHECK: @__llvm_pgo_data_main = constant { i32, i32, i8*, i64* } { i32 4, i32 1, i8* getelementptr inbounds ([4 x i8]* @__llvm_pgo_name_main, i32 0, i32 0), i64* getelementptr inbounds ([1 x i64]* @__llvm_pgo_counters_main, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
+// CHECK: @__llvm_pgo_data_main = constant { i32, i32, i64, i8*, i64* } { i32 4, i32 1, i64 1, i8* getelementptr inbounds ([4 x i8]* @__llvm_pgo_name_main, i32 0, i32 0), i64* getelementptr inbounds ([1 x i64]* @__llvm_pgo_counters_main, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
inline void foo_inline(void);
int main(void) {
foo();
@@ -24,7 +24,7 @@ int main(void) {
// CHECK: @__llvm_pgo_counters__Z10foo_inlinev = linkonce_odr global [7 x i64] zeroinitializer, section "__DATA,__llvm_pgo_cnts", align 8
// CHECK: @__llvm_pgo_name__Z10foo_inlinev = linkonce_odr constant [15 x i8] c"_Z10foo_inlinev", section "__DATA,__llvm_pgo_names", align 1
-// CHECK: @__llvm_pgo_data__Z10foo_inlinev = linkonce_odr constant { i32, i32, i8*, i64* } { i32 15, i32 7, i8* getelementptr inbounds ([15 x i8]* @__llvm_pgo_name__Z10foo_inlinev, i32 0, i32 0), i64* getelementptr inbounds ([7 x i64]* @__llvm_pgo_counters__Z10foo_inlinev, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
+// CHECK: @__llvm_pgo_data__Z10foo_inlinev = linkonce_odr constant { i32, i32, i64, i8*, i64* } { i32 15, i32 7, i64 7, i8* getelementptr inbounds ([15 x i8]* @__llvm_pgo_name__Z10foo_inlinev, i32 0, i32 0), i64* getelementptr inbounds ([7 x i64]* @__llvm_pgo_counters__Z10foo_inlinev, i32 0, i32 0) }, section "__DATA,__llvm_pgo_data", align 8
inline void foo_inline(void) { if (0){} if (0){} if (0){} if (0){} if (0){} if (0){}}
-// CHECK: @llvm.used = appending global [4 x i8*] [i8* bitcast ({ i32, i32, i8*, i64* }* @__llvm_pgo_data__Z3foov to i8*), i8* bitcast ({ i32, i32, i8*, i64* }* @__llvm_pgo_data__Z8foo_weakv to i8*), i8* bitcast ({ i32, i32, i8*, i64* }* @__llvm_pgo_data_main to i8*), i8* bitcast ({ i32, i32, i8*, i64* }* @__llvm_pgo_data__Z10foo_inlinev to i8*)], section "llvm.metadata"
+// CHECK: @llvm.used = appending global [4 x i8*] [i8* bitcast ({ i32, i32, i64, i8*, i64* }* @__llvm_pgo_data__Z3foov to i8*), i8* bitcast ({ i32, i32, i64, i8*, i64* }* @__llvm_pgo_data__Z8foo_weakv to i8*), i8* bitcast ({ i32, i32, i64, i8*, i64* }* @__llvm_pgo_data_main to i8*), i8* bitcast ({ i32, i32, i64, i8*, i64* }* @__llvm_pgo_data__Z10foo_inlinev to i8*)], section "llvm.metadata"
OpenPOWER on IntegriCloud