summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2014-03-11 06:49:34 +0000
committerJustin Bogner <mail@justinbogner.com>2014-03-11 06:49:34 +0000
commitbc04c446c18790c83953ec792cfdfbafe93a9e58 (patch)
treea042298bf88ec244dcdefb91de222d72206aa50f
parent0c689b589936a77d68a457c45732631cacac7953 (diff)
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203546 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Profile/Inputs/c-attributes.profdata27
-rw-r--r--test/Profile/Inputs/c-general.profdata10
-rw-r--r--test/Profile/Inputs/c-outdated-data.profdata8
-rw-r--r--test/Profile/Inputs/cxx-class.profdata25
-rw-r--r--test/Profile/Inputs/objc-general.profdata1
-rw-r--r--test/Profile/c-general.c17
-rw-r--r--test/Profile/c-outdated-data.c24
-rw-r--r--test/Profile/cxx-class.cpp2
8 files changed, 56 insertions, 58 deletions
diff --git a/test/Profile/Inputs/c-attributes.profdata b/test/Profile/Inputs/c-attributes.profdata
index 0419b3b3be..38decbd556 100644
--- a/test/Profile/Inputs/c-attributes.profdata
+++ b/test/Profile/Inputs/c-attributes.profdata
@@ -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
-100000
-0
0
+100000
40000
-0
-0
20000
-0
-0
500
-0
-0
diff --git a/test/Profile/Inputs/c-general.profdata b/test/Profile/Inputs/c-general.profdata
index e87f78e6b5..083b8fe55b 100644
--- a/test/Profile/Inputs/c-general.profdata
+++ b/test/Profile/Inputs/c-general.profdata
@@ -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
diff --git a/test/Profile/Inputs/c-outdated-data.profdata b/test/Profile/Inputs/c-outdated-data.profdata
new file mode 100644
index 0000000000..e1c51a6975
--- /dev/null
+++ b/test/Profile/Inputs/c-outdated-data.profdata
@@ -0,0 +1,8 @@
+no_usable_data 3
+1
+0
+0
+
+main 1
+1
+
diff --git a/test/Profile/Inputs/cxx-class.profdata b/test/Profile/Inputs/cxx-class.profdata
index 6605eb446c..983ab55116 100644
--- a/test/Profile/Inputs/cxx-class.profdata
+++ b/test/Profile/Inputs/cxx-class.profdata
@@ -1,20 +1,27 @@
-_ZN6SimpleC2Ei 2
+_Z14simple_wrapperv 2
+1
100
-99
-_ZN6Simple6methodEv 2
-100
-99
+main 1
+1
+
+_ZN6SimpleD1Ev 2
+0
+0
_ZN6SimpleD2Ev 2
100
99
-_ZN14simple_wrapperEv 4
-1
+_ZN6Simple6methodEv 2
100
+99
+
+_ZN6SimpleC1Ei 2
0
0
-main 1
-1
+_ZN6SimpleC2Ei 2
+100
+99
+
diff --git a/test/Profile/Inputs/objc-general.profdata b/test/Profile/Inputs/objc-general.profdata
index da421583b8..06c9832b3c 100644
--- a/test/Profile/Inputs/objc-general.profdata
+++ b/test/Profile/Inputs/objc-general.profdata
@@ -8,3 +8,4 @@ objc-general.m:+[A foreach:] 2
main 1
1
+
diff --git a/test/Profile/c-general.c b/test/Profile/c-general.c
index 43ebf51182..7945d8dfc8 100644
--- a/test/Profile/c-general.c
+++ b/test/Profile/c-general.c
@@ -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;
}
diff --git a/test/Profile/c-outdated-data.c b/test/Profile/c-outdated-data.c
new file mode 100644
index 0000000000..fe5a5c75cc
--- /dev/null
+++ b/test/Profile/c-outdated-data.c
@@ -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;
+}
diff --git a/test/Profile/cxx-class.cpp b/test/Profile/cxx-class.cpp
index 5934a0adb7..7432bc3cce 100644
--- a/test/Profile/cxx-class.cpp
+++ b/test/Profile/cxx-class.cpp
@@ -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();