From 2d2faae647e07129d7e0f1cb18511a12c6b748a6 Mon Sep 17 00:00:00 2001 From: Justin Bogner Date: Wed, 29 Apr 2015 21:56:35 +0000 Subject: [PATCH] profile: Use unique directory for tests that write default profile file Fix a couple of new tests that were reverted because they were causing intermittent test failures since they were writing the same default "default.profraw" file. Fixed by creating a unique directory and running tests in that directory. Patch by Teresa Johnson. Thanks! llvm-svn: 236168 --- .../instrprof-override-filename-then-reset-default.c | 19 +++++++++++++++++++ .../instrprof-set-filename-then-reset-default.c | 18 ++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 compiler-rt/test/profile/instrprof-override-filename-then-reset-default.c create mode 100644 compiler-rt/test/profile/instrprof-set-filename-then-reset-default.c 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 index 0000000..137a3b2 --- /dev/null +++ b/compiler-rt/test/profile/instrprof-override-filename-then-reset-default.c @@ -0,0 +1,19 @@ +// RUN: rm -rf %t.d +// RUN: mkdir -p %t.d +// RUN: cd %t.d +// RUN: %clang_profgen -O3 %s -o %t.out +// RUN: %run %t.out %t.d/bad.profraw +// RUN: llvm-profdata merge -o %t.d/default.profdata %t.d/default.profraw +// RUN: %clang_profuse=%t.d/default.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-set-filename-then-reset-default.c b/compiler-rt/test/profile/instrprof-set-filename-then-reset-default.c new file mode 100644 index 0000000..6c07994 --- /dev/null +++ b/compiler-rt/test/profile/instrprof-set-filename-then-reset-default.c @@ -0,0 +1,18 @@ +// RUN: rm -rf %t.d +// RUN: mkdir -p %t.d +// RUN: cd %t.d +// RUN: %clang_profgen -O3 %s -o %t.out +// RUN: %run %t.out %t.d/bad.profraw +// RUN: llvm-profdata merge -o %t.d/default.profdata %t.d/default.profraw +// RUN: %clang_profuse=%t.d/default.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} -- 2.7.4