|
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