Tests for r236055.
authorEric Christopher <echristo@gmail.com>
Tue, 28 Apr 2015 22:56:57 +0000 (22:56 +0000)
committerEric Christopher <echristo@gmail.com>
Tue, 28 Apr 2015 22:56:57 +0000 (22:56 +0000)
Patch by Teresa Johnson.

llvm-svn: 236056

compiler-rt/test/profile/instrprof-override-filename-then-reset-default.c [new file with mode: 0644]
compiler-rt/test/profile/instrprof-override-filename-with-env.c [new file with mode: 0644]
compiler-rt/test/profile/instrprof-override-filename.c [new file with mode: 0644]
compiler-rt/test/profile/instrprof-set-filename-then-reset-default.c [new file with mode: 0644]

diff --git a/compiler-rt/test/profile/instrprof-override-filename-then-reset-default.c b/compiler-rt/test/profile/instrprof-override-filename-then-reset-default.c
new file mode 100644 (file)
index 0000000..4190fb5
--- /dev/null
@@ -0,0 +1,15 @@
+// RUN: %clang_profgen -o %t -O3 %s
+// RUN: %run %t %t.profraw
+// RUN: llvm-profdata merge -o %t.profdata default.profraw
+// RUN: %clang_profuse=%t.profdata -o - -S -emit-llvm %s | FileCheck %s
+
+void __llvm_profile_override_default_filename(const char *);
+int main(int argc, const char *argv[]) {
+  // CHECK: br i1 %{{.*}}, label %{{.*}}, label %{{.*}}, !prof ![[PD1:[0-9]+]]
+  if (argc < 2)
+    return 1;
+  __llvm_profile_override_default_filename(argv[1]);
+  __llvm_profile_override_default_filename(0);
+  return 0;
+}
+// CHECK: ![[PD1]] = !{!"branch_weights", i32 1, i32 2}
diff --git a/compiler-rt/test/profile/instrprof-override-filename-with-env.c b/compiler-rt/test/profile/instrprof-override-filename-with-env.c
new file mode 100644 (file)
index 0000000..cce8389
--- /dev/null
@@ -0,0 +1,14 @@
+// RUN: %clang_profgen -o %t -O3 %s
+// RUN: env LLVM_PROFILE_FILE=%t.good.profraw %run %t %t.bad.profraw
+// RUN: llvm-profdata merge -o %t.profdata %t.good.profraw
+// RUN: %clang_profuse=%t.profdata -o - -S -emit-llvm %s | FileCheck %s
+
+void __llvm_profile_override_default_filename(const char *);
+int main(int argc, const char *argv[]) {
+  // CHECK: br i1 %{{.*}}, label %{{.*}}, label %{{.*}}, !prof ![[PD1:[0-9]+]]
+  if (argc < 2)
+    return 1;
+  __llvm_profile_override_default_filename(argv[1]);
+  return 0;
+}
+// CHECK: ![[PD1]] = !{!"branch_weights", i32 1, i32 2}
diff --git a/compiler-rt/test/profile/instrprof-override-filename.c b/compiler-rt/test/profile/instrprof-override-filename.c
new file mode 100644 (file)
index 0000000..59dea29
--- /dev/null
@@ -0,0 +1,14 @@
+// RUN: %clang_profgen -o %t -O3 %s
+// RUN: %run %t %t.profraw
+// RUN: llvm-profdata merge -o %t.profdata %t.profraw
+// RUN: %clang_profuse=%t.profdata -o - -S -emit-llvm %s | FileCheck %s
+
+void __llvm_profile_override_default_filename(const char *);
+int main(int argc, const char *argv[]) {
+  // CHECK: br i1 %{{.*}}, label %{{.*}}, label %{{.*}}, !prof ![[PD1:[0-9]+]]
+  if (argc < 2)
+    return 1;
+  __llvm_profile_override_default_filename(argv[1]);
+  return 0;
+}
+// CHECK: ![[PD1]] = !{!"branch_weights", i32 1, i32 2}
diff --git a/compiler-rt/test/profile/instrprof-set-filename-then-reset-default.c b/compiler-rt/test/profile/instrprof-set-filename-then-reset-default.c
new file mode 100644 (file)
index 0000000..41e3ed0
--- /dev/null
@@ -0,0 +1,15 @@
+// RUN: %clang_profgen -o %t -O3 %s
+// RUN: %run %t %t.profraw
+// RUN: llvm-profdata merge -o %t.profdata default.profraw
+// RUN: %clang_profuse=%t.profdata -o - -S -emit-llvm %s | FileCheck %s
+
+void __llvm_profile_set_filename(const char *);
+int main(int argc, const char *argv[]) {
+  // CHECK: br i1 %{{.*}}, label %{{.*}}, label %{{.*}}, !prof ![[PD1:[0-9]+]]
+  if (argc < 2)
+    return 1;
+  __llvm_profile_set_filename(argv[1]);
+  __llvm_profile_set_filename(0);
+  return 0;
+}
+// CHECK: ![[PD1]] = !{!"branch_weights", i32 1, i32 2}