test: Regenerate profile data for PGO tests

Some of this data had gotten out of date, so we weren't quite testing
what we thought we were. This also moves the outdated data test to its
own file to simplify regenerating the test data.

llvm-svn: 203546
This commit is contained in:
Justin Bogner 2014-03-11 06:49:34 +00:00
parent 0e18ed2eba
commit ffaa2330b9
8 changed files with 57 additions and 59 deletions

View File

@ -1,39 +1,24 @@
hot_100_percent 4
hot_100_percent 2
100000
4999950000
0
0
hot_40_percent 4
hot_40_percent 2
40000
799980000
0
0
normal_func 4
normal_func 2
20000
199990000
0
0
cold_func 4
cold_func 2
500
124750
0
0
main 13
main 6
1
0
100000
0
0
40000
0
0
20000
0
0
500
0
0

View File

@ -92,9 +92,6 @@ big_switch 17
2
2
issue_with_one_counter 1
0
boolean_operators 8
1
100
@ -122,13 +119,6 @@ do_fallthrough 4
2
8
no_usable_data 5
1
1
1
1
1
main 1
1

View File

@ -0,0 +1,8 @@
no_usable_data 3
1
0
0
main 1
1

View File

@ -1,4 +1,15 @@
_ZN6SimpleC2Ei 2
_Z14simple_wrapperv 2
1
100
main 1
1
_ZN6SimpleD1Ev 2
0
0
_ZN6SimpleD2Ev 2
100
99
@ -6,15 +17,11 @@ _ZN6Simple6methodEv 2
100
99
_ZN6SimpleD2Ev 2
_ZN6SimpleC1Ei 2
0
0
_ZN6SimpleC2Ei 2
100
99
_ZN14simple_wrapperEv 4
1
100
0
0
main 1
1

View File

@ -8,3 +8,4 @@ objc-general.m:+[A foreach:] 2
main 1
1

View File

@ -11,7 +11,6 @@
// PGOGEN: @[[BSC:__llvm_pgo_ctr[0-9]*]] = private global [17 x i64] zeroinitializer
// PGOGEN: @[[BOC:__llvm_pgo_ctr[0-9]*]] = private global [8 x i64] zeroinitializer
// PGOGEN: @[[BLC:__llvm_pgo_ctr[0-9]*]] = private global [9 x i64] zeroinitializer
// PGOGEN: @[[NOC:__llvm_pgo_ctr[0-9]*]] = private global [2 x i64] zeroinitializer
// PGOGEN: @[[MAC:__llvm_pgo_ctr[0-9]*]] = private global [1 x i64] zeroinitializer
// PGOGEN: @[[STC:__llvm_pgo_ctr[0-9]*]] = private global [2 x i64] zeroinitializer
@ -426,21 +425,6 @@ void do_fallthrough() {
}
}
// PGOGEN-LABEL: @no_usable_data()
// PGOUSE-LABEL: @no_usable_data()
// PGOGEN: store {{.*}} @[[NOC]], i64 0, i64 0
void no_usable_data() {
// The input data for PGOUSE is deliberately invalid for this function, so
// that we can test that we reject and ignore it properly.
int i = 0;
// PGOGEN: store {{.*}} @[[NOC]], i64 0, i64 1
if (i) {}
// PGOGEN-NOT: store {{.*}} @[[NOC]],
// PGOUSE-NOT: br {{.*}} !prof ![0-9]+
}
// PGOGEN-LABEL: @static_func()
// PGOUSE-LABEL: @static_func()
// PGOGEN: store {{.*}} @[[STC]], i64 0, i64 0
@ -531,7 +515,6 @@ int main(int argc, const char *argv[]) {
boolean_operators();
boolop_loops();
do_fallthrough();
no_usable_data();
static_func();
return 0;
}

View File

@ -0,0 +1,24 @@
// Test that outdated data is ignored.
// RUN: %clang_cc1 -triple x86_64-apple-macosx10.9 -main-file-name c-outdated-data.c %s -o - -emit-llvm -fprofile-instr-use=%S/Inputs/c-outdated-data.profdata | FileCheck -check-prefix=PGOUSE %s
// TODO: We should have a warning or a remark that tells us the profile data was
// discarded, rather than just checking that we fail to add metadata.
// PGOUSE-LABEL: @no_usable_data()
void no_usable_data() {
int i = 0;
if (i) {}
#ifdef GENERATE_OUTDATED_DATA
if (i) {}
#endif
// PGOUSE-NOT: br {{.*}} !prof ![0-9]+
}
int main(int argc, const char *argv[]) {
no_usable_data();
return 0;
}

View File

@ -69,7 +69,7 @@ void simple_wrapper() {
// WRPUSE-NOT: br {{.*}} !prof ![0-9]+
// WRPUSE: ret
}
// WRPUSE: ![[SW1]] = metadata !{metadata !"branch_weights", i32 100, i32 2}
// WRPUSE: ![[SW1]] = metadata !{metadata !"branch_weights", i32 101, i32 2}
int main(int argc, const char *argv[]) {
simple_wrapper();