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

Teresa Johnson tejohnson at google.com
Wed Apr 29 16:06:44 PDT 2015


Great, thanks.
Teresa

On Wed, Apr 29, 2015 at 3:01 PM, Justin Bogner <mail at justinbogner.com> wrote:
> 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



-- 
Teresa Johnson | Software Engineer | tejohnson at google.com | 408-460-2413



More information about the llvm-commits mailing list