]> granicus.if.org Git - clang/commitdiff
test: Regenerate profile data for PGO tests
authorJustin Bogner <mail@justinbogner.com>
Tue, 11 Mar 2014 06:49:34 +0000 (06:49 +0000)
committerJustin Bogner <mail@justinbogner.com>
Tue, 11 Mar 2014 06:49:34 +0000 (06:49 +0000)
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

test/Profile/Inputs/c-attributes.profdata
test/Profile/Inputs/c-general.profdata
test/Profile/Inputs/c-outdated-data.profdata [new file with mode: 0644]
test/Profile/Inputs/cxx-class.profdata
test/Profile/Inputs/objc-general.profdata
test/Profile/c-general.c
test/Profile/c-outdated-data.c [new file with mode: 0644]
test/Profile/cxx-class.cpp

index 0419b3b3bef70cc85e15e4e2b41525e7129811ac..38decbd5568a7d573261c65cf2192e11df618078 100644 (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
-100000
-0
 0
+100000
 40000
-0
-0
 20000
-0
-0
 500
-0
-0
 
index e87f78e6b569d4ea5ed02b37137843acb0068774..083b8fe55b4d7b61be68a2c57cc7bded95dbf5e7 100644 (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
 
diff --git a/test/Profile/Inputs/c-outdated-data.profdata b/test/Profile/Inputs/c-outdated-data.profdata
new file mode 100644 (file)
index 0000000..e1c51a6
--- /dev/null
@@ -0,0 +1,8 @@
+no_usable_data 3
+1
+0
+0
+
+main 1
+1
+
index 6605eb446c70228db9c1245f1b0a6ba6ea9887e2..983ab5511655521d5880be823a910cbe81e4ba15 100644 (file)
@@ -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
+
index da421583b81fa577af9e9133608f19d01ae9fcad..06c9832b3c5894546c31eb59c53457ee7738d9ea 100644 (file)
@@ -8,3 +8,4 @@ objc-general.m:+[A foreach:] 2
 
 main 1
 1
+
index 43ebf511827d72dd0a75f8d64efbb29e60e606cf..7945d8dfc8004b2393135a8d7f39f0bc50de72e2 100644 (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;
 }
diff --git a/test/Profile/c-outdated-data.c b/test/Profile/c-outdated-data.c
new file mode 100644 (file)
index 0000000..fe5a5c7
--- /dev/null
@@ -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;
+}
index 5934a0adb7d964a24787eb867f2613233063d070..7432bc3ccee7e924637ee9e86fedc30632758b91 100644 (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();