64 lines · plain
1## Tests stale block matching with pseudo probes.2 3# REQUIRES: system-linux4# RUN: split-file %s %t5# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %t/main.s -o %t.o6# RUN: %clang %cflags %t.o -o %t.exe -Wl,-q -nostdlib7# RUN: llvm-bolt %t.exe -o %t.out --data %t/yaml -v=2 \8# RUN: --print-cfg --funcs=main --infer-stale-profile \9# RUN: --stale-matching-with-pseudo-probes 2>&1 | FileCheck %s10 11# CHECK: BOLT-INFO: inference found an exact pseudo probe match for 100.00% of basic blocks (1 out of 1 stale)12 13#--- main.s14 .text15 .globl main # -- Begin function main16 .p2align 4, 0x9017 .type main,@function18main: # @main19# %bb.0:20 pushq %rbp21 movq %rsp, %rbp22 movl $0, -4(%rbp)23 .pseudoprobe 15822663052811949562 1 0 0 main24 xorl %eax, %eax25 popq %rbp26 retq27.Lfunc_end0:28 .size main, .Lfunc_end0-main29 # -- End function30 .section .pseudo_probe_desc,"",@progbits31 .quad -262408102089760205432 .quad 429496729533 .byte 434 .ascii "main"35 36#--- yaml37---38header:39 profile-version: 140 binary-name: 'match-blocks-with-pseudo-probes.s.tmp.exe'41 binary-build-id: '<unknown>'42 profile-flags: [ lbr ]43 profile-origin: branch profile reader44 profile-events: ''45 dfs-order: false46 hash-func: xxh347functions:48 - name: main49 fid: 050 hash: 0x000000000000000151 exec: 152 nblocks: 653 blocks:54 - bid: 155 hash: 0xFFFFFFFFFFFFFFF156 insns: 157 succ: [ { bid: 3, cnt: 1} ]58 probes: [ { blk: [ 1 ] } ]59 inline_tree: [ { g: 0 } ]60pseudo_probe_desc:61 gs: [ 0xDB956436E78DD5FA ]62 gh: [ 0 ]63 hs: [ 0xFFFFFFFF ]64