66 lines · plain
1## Test stale block matching with pseudo probes including inline tree matching.2# RUN: split-file %s %t3# RUN: llvm-bolt \4# RUN: %S/../../../llvm/test/tools/llvm-profgen/Inputs/inline-cs-pseudoprobe.perfbin \5# RUN: -o %t.bolt -data %t/yaml -infer-stale-profile -v=2 \6# RUN: --stale-matching-with-pseudo-probes 2>&1 | FileCheck %s7 8# CHECK: BOLT-WARNING: 3 (100.0% of all profiled) functions have invalid (possibly stale) profile9# CHECK: BOLT-INFO: inference found an exact pseudo probe match for 100.00% of basic blocks (3 out of 3 stale)10 11#--- yaml12---13header:14 profile-version: 115 binary-name: 'inline-cs-pseudoprobe.perfbin'16 binary-build-id: '<unknown>'17 profile-flags: [ lbr ]18 profile-origin: perf data aggregator19 profile-events: ''20 dfs-order: false21 hash-func: xxh322functions:23 - name: bar24 fid: 925 hash: 0x126 exec: 127 nblocks: 128 blocks:29 - bid: 030 insns: 1131 hash: 0x132 exec: 133 probes: [ { blk: [ 1, 4 ] } ]34 inline_tree: [ { } ]35 - name: foo36 fid: 1037 hash: 0x238 exec: 139 nblocks: 640 blocks:41 - bid: 042 insns: 343 hash: 0x244 exec: 145 succ: [ { bid: 3, cnt: 0 } ]46 probes: [ { blk: [ 1, 2 ] } ]47 inline_tree: [ { g: 1 }, { g: 0, cs: 8 } ]48 - name: main49 fid: 1150 hash: 0x351 exec: 152 nblocks: 653 blocks:54 - bid: 055 insns: 356 hash: 0x357 exec: 158 succ: [ { bid: 3, cnt: 0 } ]59 probes: [ { blk: [ 1, 2 ], ids: [ 1 ] }, { blk: [ 1 ] } ]60 inline_tree: [ { g: 2 }, { g: 1, cs: 2 }, { g: 0, p: 1, cs: 8 } ]61pseudo_probe_desc:62 gs: [ 0xE413754A191DB537, 0x5CF8C24CDB18BDAC, 0xDB956436E78DD5FA ]63 gh: [ 2, 0, 1 ]64 hs: [ 0x200205A19C5B4, 0x10000FFFFFFFF, 0x10E852DA94 ]65...66