10
10
// RUN: rm -rf %t.dir && split-file %s %t.dir && cd %t.dir
11
11
//
12
12
// Create two DLLs and a driver program that uses them.
13
- // RUN: %clang_pgogen=%t.dir/profdir -fprofile-continuous -fprofile- update=atomic foo.c -fuse-ld=lld -Wl,-dll -o %t.dir/foo.dll
14
- // RUN: %clang_pgogen=%t.dir/profdir -fprofile-continuous -fprofile- update=atomic bar.c -fuse-ld=lld -Wl,-dll -o %t.dir/bar.dll
15
- // RUN: %clang_pgogen=%t.dir/profdir -fprofile-continuous -fprofile-update=atomic main.c -o main.exe %t.dir/foo.lib %t.dir/bar.lib -fuse-ld=lld
13
+ // RUN: %clang_pgogen foo.c -mllvm -instrprof-atomic-counter- update-all=1 -mllvm -runtime-counter-relocation=true -fuse-ld=lld -Wl,-dll -o %t.dir/foo.dll
14
+ // RUN: %clang_pgogen bar.c -mllvm -instrprof-atomic-counter- update-all=1 -mllvm -runtime-counter-relocation=true -fuse-ld=lld -Wl,-dll -o %t.dir/bar.dll
15
+ // RUN: %clang_pgogen main.c -o main.exe %t.dir/foo.lib %t.dir/bar.lib -mllvm -instrprof-atomic-counter-update-all=1 -mllvm -runtime-counter-relocation=true -fuse-ld=lld
16
16
//
17
17
// === Round 1 ===
18
18
// Test merging+continuous mode without any file contention.
19
19
//
20
- // RUN: %run %t.dir/main.exe nospawn
20
+ // RUN: env LLVM_PROFILE_FILE="%t.dir/profdir/%m%c.profraw" %run %t.dir/main.exe nospawn
21
21
// RUN: llvm-profdata merge -o %t.profdata %t.dir/profdir
22
22
// RUN: llvm-profdata show --counts --all-functions %t.profdata | FileCheck %s -check-prefix=ROUND1
23
23
37
37
// === Round 2 ===
38
38
// Test merging+continuous mode with some file contention.
39
39
//
40
- // RUN: %run %t.dir/main.exe spawn
40
+ // RUN: env LLVM_PROFILE_FILE="%t.dir/profdir/%m%c.profraw" %run %t.dir/main.exe spawn
41
41
// RUN: llvm-profdata merge -o %t.profdata %t.dir/profdir
42
42
// RUN: llvm-profdata show --counts --all-functions %t.profdata | FileCheck %s -check-prefix=ROUND2
43
43
@@ -157,4 +157,4 @@ int main(int argc, char *const argv[]) {
157
157
}
158
158
159
159
return 1 ;
160
- }
160
+ }
0 commit comments