|
1 | 1 | // RUN: %clang_profgen -o %t -O3 %s |
2 | 2 | // RUN: env LLVM_PROFILE_FILE=%t.profraw %run %t |
3 | 3 | // RUN: llvm-profdata merge -o %t.profdata %t.profraw |
| 4 | +// RUN: llvm-profdata show --all-functions %t.profdata | FileCheck %s --check-prefix=PROFCNT |
4 | 5 | // RUN: %clang_profuse=%t.profdata -o - -S -emit-llvm %s | FileCheck %s --check-prefix=COMMON --check-prefix=ORIG |
5 | 6 | // |
6 | 7 | // RUN: rm -fr %t.dir1 |
7 | 8 | // RUN: mkdir -p %t.dir1 |
8 | 9 | // RUN: env LLVM_PROFILE_FILE=%t.dir1/profraw_e_%1m %run %t |
9 | 10 | // RUN: env LLVM_PROFILE_FILE=%t.dir1/profraw_e_%1m %run %t |
10 | 11 | // RUN: llvm-profdata merge -o %t.em.profdata %t.dir1 |
| 12 | +// RUN: llvm-profdata show --all-functions %t.em.profdata | FileCheck %s --check-prefix=PROFCNT |
11 | 13 | // RUN: %clang_profuse=%t.em.profdata -o - -S -emit-llvm %s | FileCheck %s --check-prefix=COMMON --check-prefix=MERGE |
12 | 14 | // |
13 | 15 | // RUN: rm -fr %t.dir2 |
|
16 | 18 | // RUN: %run %t.merge |
17 | 19 | // RUN: %run %t.merge |
18 | 20 | // RUN: llvm-profdata merge -o %t.m.profdata %t.dir2/ |
| 21 | +// RUN: llvm-profdata show --all-functions %t.m.profdata | FileCheck %s --check-prefix=PROFCNT |
19 | 22 | // RUN: %clang_profuse=%t.m.profdata -o - -S -emit-llvm %s | FileCheck %s --check-prefix=COMMON --check-prefix=MERGE |
20 | 23 | // |
21 | 24 | // Test that merging is enabled by default with -fprofile-generate= |
|
27 | 30 | // RUN: %run %t.merge3 |
28 | 31 | // RUN: %run %t.merge3 |
29 | 32 | // RUN: llvm-profdata merge -o %t.m3.profdata %t.dir3/ |
| 33 | +// RUN: llvm-profdata show --all-functions %t.m3.profdata | FileCheck %s --check-prefix=PROFCNT |
30 | 34 | // RUN: %clang_profuse=%t.m3.profdata -O0 -o - -S -emit-llvm %s | FileCheck %s --check-prefix=COMMON --check-prefix=PGOMERGE |
31 | 35 | // |
32 | 36 | // Test that merging is enabled by default with -fprofile-generate |
|
40 | 44 | // RUN: %run %t.dir4/merge4 |
41 | 45 | // RUN: rm -f %t.dir4/merge4* |
42 | 46 | // RUN: llvm-profdata merge -o %t.m4.profdata ./ |
| 47 | +// RUN: llvm-profdata show --all-functions %t.m4.profdata | FileCheck %s --check-prefix=PROFCNT |
43 | 48 | // RUN: %clang_profuse=%t.m4.profdata -O0 -o - -S -emit-llvm %s | FileCheck %s --check-prefix=COMMON --check-prefix=PGOMERGE |
44 | 49 |
|
45 | 50 | /// Test that the merge pool size can be larger than 10. |
|
49 | 54 | // RUN: not ls %t.dir5/e_%20m.profraw |
50 | 55 | // RUN: ls %t.dir5/e_*.profraw | count 1 |
51 | 56 |
|
| 57 | +// Test that all three functions have counters in the profile. |
| 58 | +// PROFCNT-DAG: begin |
| 59 | +// PROFCNT-DAG: end |
| 60 | +// PROFCNT-DAG: main |
| 61 | +// PROFCNT: Functions shown: 3 |
| 62 | +// PROFCNT: Total functions: 3 |
| 63 | + |
52 | 64 | int begin(int i) { |
53 | 65 | // COMMON: br i1 %{{.*}}, label %{{.*}}, label %{{.*}}, !prof ![[PD1:[0-9]+]] |
54 | 66 | if (i) |
|
0 commit comments