CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
164 lines
4.7 KiB
Plaintext
164 lines
4.7 KiB
Plaintext
## Tests blocks matching by called function names in inferStaleProfile.
|
|
|
|
# REQUIRES: system-linux, asserts
|
|
# RUN: split-file %s %t
|
|
# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %t/main.s -o %t.o
|
|
# RUN: %clang %cflags %t.o -o %t.exe -Wl,-q -nostdlib
|
|
# RUN: llvm-bolt %t.exe -o %t.out --data %t/yaml --profile-ignore-hash -v=1 \
|
|
# RUN: --dyno-stats --print-cfg --infer-stale-profile=1 --debug-only=bolt-prof \
|
|
# RUN: 2>&1 | FileCheck %s
|
|
|
|
# CHECK: BOLT-INFO: applying profile inference for "qux"
|
|
# CHECK: Matched yaml block (bid = 1) with hash 4 to BB (index = 0) with hash 314e1bc10000
|
|
# CHECK: call match
|
|
|
|
# CHECK: BOLT-INFO: applying profile inference for "fred"
|
|
# CHECK: Matched yaml block (bid = 1) with hash 5 to BB (index = 0) with hash 7541bc10000
|
|
# CHECK: call match
|
|
|
|
#--- main.s
|
|
.globl foo # -- Begin function foo
|
|
.p2align 4, 0x90
|
|
.type foo,@function
|
|
foo: # @foo
|
|
# %bb.0:
|
|
pushq %rbp
|
|
movq %rsp, %rbp
|
|
popq %rbp
|
|
retq
|
|
.Lfunc_end0:
|
|
.size foo, .Lfunc_end0-foo
|
|
# -- End function
|
|
.globl bar # -- Begin function bar
|
|
.p2align 4, 0x90
|
|
.type bar,@function
|
|
bar: # @bar
|
|
# %bb.0:
|
|
pushq %rbp
|
|
movq %rsp, %rbp
|
|
popq %rbp
|
|
retq
|
|
.Lfunc_end1:
|
|
.size bar, .Lfunc_end1-bar
|
|
# -- End function
|
|
.globl qux # -- Begin function qux
|
|
.p2align 4, 0x90
|
|
.type qux,@function
|
|
qux: # @qux
|
|
# %bb.0:
|
|
pushq %rbp
|
|
movq %rsp, %rbp
|
|
callq foo
|
|
callq bar
|
|
popq %rbp
|
|
retq
|
|
.Lfunc_end2:
|
|
.size qux, .Lfunc_end2-qux
|
|
# -- End function
|
|
.globl fred # -- Begin function fred
|
|
.p2align 4, 0x90
|
|
.type fred,@function
|
|
fred: # @fred
|
|
# %bb.0:
|
|
pushq %rbp
|
|
movq %rsp, %rbp
|
|
callq foo
|
|
callq qux
|
|
callq bar
|
|
callq bar
|
|
callq foo
|
|
popq %rbp
|
|
retq
|
|
.Lfunc_end3:
|
|
.size fred, .Lfunc_end3-fred
|
|
# -- End function
|
|
.globl main # -- Begin function main
|
|
.p2align 4, 0x90
|
|
.type main,@function
|
|
main: # @main
|
|
# %bb.0:
|
|
pushq %rbp
|
|
movq %rsp, %rbp
|
|
xorl %eax, %eax
|
|
popq %rbp
|
|
retq
|
|
.Lfunc_end4:
|
|
.size main, .Lfunc_end4-main
|
|
# -- End function
|
|
.addrsig
|
|
.addrsig_sym foo
|
|
.addrsig_sym bar
|
|
.addrsig_sym qux
|
|
|
|
#--- yaml
|
|
---
|
|
header:
|
|
profile-version: 1
|
|
binary-name: 'match-functions-with-calls-as-anchors.s.tmp.exe'
|
|
binary-build-id: '<unknown>'
|
|
profile-flags: [ lbr ]
|
|
profile-origin: branch profile reader
|
|
profile-events: ''
|
|
dfs-order: false
|
|
hash-func: xxh3
|
|
functions:
|
|
- name: main
|
|
fid: 0
|
|
hash: 0x0000000000000001
|
|
exec: 1
|
|
nblocks: 6
|
|
blocks:
|
|
- bid: 1
|
|
hash: 0x0000000000000001
|
|
insns: 1
|
|
succ: [ { bid: 3, cnt: 1} ]
|
|
- name: foo
|
|
fid: 1
|
|
hash: 0x0000000000000002
|
|
exec: 1
|
|
nblocks: 6
|
|
blocks:
|
|
- bid: 1
|
|
hash: 0x0000000000000002
|
|
insns: 1
|
|
succ: [ { bid: 3, cnt: 1} ]
|
|
|
|
- name: bar
|
|
fid: 2
|
|
hash: 0x0000000000000003
|
|
exec: 1
|
|
nblocks: 6
|
|
blocks:
|
|
- bid: 1
|
|
hash: 0x0000000000000003
|
|
insns: 1
|
|
succ: [ { bid: 3, cnt: 1} ]
|
|
- name: qux
|
|
fid: 3
|
|
hash: 0x0000000000000004
|
|
exec: 4
|
|
nblocks: 6
|
|
blocks:
|
|
- bid: 1
|
|
hash: 0x0000000000000004
|
|
insns: 1
|
|
succ: [ { bid: 3, cnt: 1} ]
|
|
calls: [ { off : 0, fid : 1, cnt : 0},
|
|
{ off : 0, fid : 2, cnt : 0} ]
|
|
- name: fred
|
|
fid: 4
|
|
hash: 0x0000000000000005
|
|
exec: 1
|
|
nblocks: 6
|
|
blocks:
|
|
- bid: 1
|
|
hash: 0x0000000000000005
|
|
insns: 1
|
|
succ: [ { bid: 3, cnt: 1} ]
|
|
calls: [ { off : 0, fid : 3, cnt : 0},
|
|
{ off : 0, fid : 1, cnt : 0},
|
|
{ off : 0, fid : 2, cnt : 0},
|
|
{ off : 0, fid : 1, cnt : 0},
|
|
{ off : 0, fid : 2, cnt : 0} ]
|
|
...
|