|
3 | 3 | RUN: yaml2obj %p/Inputs/blarge_new.yaml &> %t.exe |
4 | 4 | ## Non-BOLTed input binary |
5 | 5 | RUN: llvm-bolt-heatmap %t.exe -o %t --pa -p %p/Inputs/blarge_new.preagg.txt \ |
| 6 | +# Heatmaps for 64B, 128B, 1K buckets |
| 7 | +RUN: --block-size=64,128,1K --line-size 64 \ |
6 | 8 | RUN: 2>&1 | FileCheck --check-prefix CHECK-HEATMAP %s |
7 | 9 | RUN: FileCheck %s --check-prefix CHECK-SEC-HOT --input-file %t-section-hotness.csv |
| 10 | +RUN: FileCheck %s --check-prefix CHECK-HM-64 --input-file %t |
| 11 | +RUN: FileCheck %s --check-prefix CHECK-HM-128 --input-file %t-128 |
| 12 | +RUN: FileCheck %s --check-prefix CHECK-HM-1024 --input-file %t-1024 |
8 | 13 |
|
9 | 14 | ## BOLTed input binary |
10 | 15 | RUN: llvm-bolt %t.exe -o %t.out --pa -p %p/Inputs/blarge_new.preagg.txt \ |
11 | 16 | RUN: --reorder-blocks=ext-tsp --split-functions --split-strategy=cdsplit \ |
12 | 17 | RUN: --reorder-functions=cdsort --enable-bat --dyno-stats --skip-funcs=main |
| 18 | +# Heatmaps for 64B, 4K, 16K, 1M buckets |
13 | 19 | RUN: llvm-bolt-heatmap %t.out -o %t2 --pa -p %p/Inputs/blarge_new_bat.preagg.txt \ |
14 | | -RUN: 2>&1 | FileCheck --check-prefix CHECK-HEATMAP-BAT %s |
| 20 | +RUN: --block-size=64,4KB,16kb,1MiB 2>&1 | FileCheck --check-prefix CHECK-HEATMAP-BAT %s |
15 | 21 | RUN: FileCheck %s --check-prefix CHECK-SEC-HOT-BAT --input-file %t2-section-hotness.csv |
16 | 22 | RUN: llvm-nm -n %t.out | FileCheck %s --check-prefix=CHECK-HOT-SYMS |
| 23 | +RUN: FileCheck %s --check-prefix CHECK-BAT-HM-64 --input-file %t2 |
| 24 | +# Identical hottest range for 4K, 16K, 1M heatmaps |
| 25 | +RUN: FileCheck %s --check-prefix CHECK-BAT-HM-4K --input-file %t2-4096 |
| 26 | +RUN: FileCheck %s --check-prefix CHECK-BAT-HM-4K --input-file %t2-16384 |
| 27 | +RUN: FileCheck %s --check-prefix CHECK-BAT-HM-4K --input-file %t2-1048576 |
| 28 | + |
| 29 | +# No zoomed-out heatmaps |
| 30 | +RUN: llvm-bolt-heatmap %t.out -o %t3 --pa -p %p/Inputs/blarge_new_bat.preagg.txt \ |
| 31 | +RUN: --block-size=1024 | FileCheck --check-prefix CHECK-HEATMAP-BAT-1K %s |
| 32 | +CHECK-HEATMAP-BAT-1K: HEATMAP: dumping heatmap with bucket size 1024 |
| 33 | +CHECK-HEATMAP-BAT-1K-NOT: HEATMAP: dumping heatmap with bucket size |
17 | 34 |
|
18 | 35 | CHECK-HEATMAP: PERF2BOLT: read 81 aggregated LBR entries |
19 | 36 | CHECK-HEATMAP: HEATMAP: invalid traces: 1 |
| 37 | +CHECK-HEATMAP: HEATMAP: dumping heatmap with bucket size 64 |
| 38 | +CHECK-HEATMAP: HEATMAP: dumping heatmap with bucket size 128 |
| 39 | +CHECK-HEATMAP: HEATMAP: dumping heatmap with bucket size 1024 |
| 40 | +CHECK-HEATMAP-NOT: HEATMAP: dumping heatmap with bucket size |
20 | 41 |
|
21 | 42 | CHECK-SEC-HOT: Section Name, Begin Address, End Address, Percentage Hotness, Utilization Pct, Partition Score |
22 | 43 | CHECK-SEC-HOT-NEXT: .init, 0x401000, 0x40101b, 16.8545, 100.0000, 0.1685 |
23 | 44 | CHECK-SEC-HOT-NEXT: .plt, 0x401020, 0x4010b0, 4.7583, 66.6667, 0.0317 |
24 | 45 | CHECK-SEC-HOT-NEXT: .text, 0x4010b0, 0x401c25, 78.3872, 85.1064, 0.6671 |
25 | 46 | CHECK-SEC-HOT-NEXT: .fini, 0x401c28, 0x401c35, 0.0000, 0.0000, 0.0000 |
26 | 47 |
|
| 48 | +# Only check x scales – can't check colors, and FileCheck doesn't strip color |
| 49 | +# codes by default. |
| 50 | +CHECK-HM-64: (299, 937] |
| 51 | +CHECK-HM-64-NEXT: 0 |
| 52 | +CHECK-HM-64-NEXT: 0 |
| 53 | +CHECK-HM-64-NEXT: 0 1 2 3 4 5 6 7 8 9 a b c d e f |
| 54 | +CHECK-HM-64-NEXT: 048c048c048c048c048c048c048c048c048c048c048c048c048c048c048c048c |
| 55 | +CHECK-HM-64-NEXT: 0 |
| 56 | + |
| 57 | +CHECK-HM-128: (299, 937] |
| 58 | +CHECK-HM-128-NEXT: 0 |
| 59 | +CHECK-HM-128-NEXT: 0 1 |
| 60 | +CHECK-HM-128-NEXT: 0 1 2 3 4 5 6 7 8 9 a b c d e f 0 1 2 3 4 5 6 7 8 9 a b c d e f |
| 61 | +CHECK-HM-128-NEXT: 0808080808080808080808080808080808080808080808080808080808080808 |
| 62 | +CHECK-HM-128-NEXT: 0 |
| 63 | + |
| 64 | +CHECK-HM-1024: (483, 1663] |
| 65 | +CHECK-HM-1024-NEXT: 0 |
| 66 | +CHECK-HM-1024-NEXT: 0 1 2 3 4 5 6 7 8 9 a b c d e f |
| 67 | +CHECK-HM-1024-NEXT: 048c048c048c048c048c048c048c048c048c048c048c048c048c048c048c048c |
| 68 | +CHECK-HM-1024-NEXT: 0 |
| 69 | +CHECK-HM-1024-NEXT: 0 |
| 70 | + |
| 71 | +CHECK-BAT-HM-64: (349, 1126] |
| 72 | +CHECK-BAT-HM-4K: (605, 2182] |
| 73 | + |
27 | 74 | CHECK-HEATMAP-BAT: PERF2BOLT: read 79 aggregated LBR entries |
28 | 75 | CHECK-HEATMAP-BAT: HEATMAP: invalid traces: 2 |
| 76 | +CHECK-HEATMAP-BAT: HEATMAP: dumping heatmap with bucket size 64 |
| 77 | +CHECK-HEATMAP-BAT: HEATMAP: dumping heatmap with bucket size 4096 |
| 78 | +CHECK-HEATMAP-BAT: HEATMAP: dumping heatmap with bucket size 16384 |
| 79 | +CHECK-HEATMAP-BAT: HEATMAP: dumping heatmap with bucket size 1048576 |
| 80 | +CHECK-HEATMAP-BAT-NOT: HEATMAP: dumping heatmap with bucket size |
29 | 81 |
|
30 | 82 | CHECK-SEC-HOT-BAT: Section Name, Begin Address, End Address, Percentage Hotness, Utilization Pct, Partition Score |
31 | 83 | CHECK-SEC-HOT-BAT-NEXT: .init, 0x401000, 0x40101b, 17.2888, 100.0000, 0.1729 |
|
0 commit comments