[PATCH] [Profile] Use unique directory for tests that write default profile file

Justin Bogner mail at justinbogner.com
Wed Apr 29 15:01:22 PDT 2015


Teresa Johnson <tejohnson at google.com> writes:
> Fix a couple of new tests that were reverted because they were
> causing intermittant test failures since they were writing the same default
> "default.profraw" file. Fixed by creating a unique directory and running tests
> in that directory.

LGTM, but I prefer a "-o" to using a.out here. I've committed this for
you with that minor change in r236168.

> http://reviews.llvm.org/D9349
>
> Files:
>   test/profile/instrprof-override-filename-then-reset-default.c
>   test/profile/instrprof-set-filename-then-reset-default.c
>
> Index: test/profile/instrprof-override-filename-then-reset-default.c
> ===================================================================
> --- /dev/null
> +++ 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
> +// RUN: %run a.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}
> Index: test/profile/instrprof-set-filename-then-reset-default.c
> ===================================================================
> --- /dev/null
> +++ 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
> +// RUN: %run a.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}
>
> EMAIL PREFERENCES
>   http://reviews.llvm.org/settings/panel/emailpreferences/
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list