Files
TheRock/compiler/amd-llvm/bolt/test/X86/pseudoprobe-decoding-inline.test
T
derek.holloway 7502bf64a4
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
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

157 lines
8.2 KiB
Plaintext

# REQUIRES: system-linux
# RUN: llvm-bolt %S/../../../llvm/test/tools/llvm-profgen/Inputs/inline-cs-pseudoprobe.perfbin --print-pseudo-probes=all -o %t.bolt --lite=0 --enable-bat 2>&1 | FileCheck %s
# PREAGG: B X:0 #foo# 1 0
# PREAGG: B X:0 #bar# 1 0
# PREAGG: B X:0 #main# 1 0
## Check pseudo-probes in regular YAML profile (non-BOLTed binary)
# RUN: link_fdata %s %S/../../../llvm/test/tools/llvm-profgen/Inputs/inline-cs-pseudoprobe.perfbin %t.preagg PREAGG
# RUN: perf2bolt %S/../../../llvm/test/tools/llvm-profgen/Inputs/inline-cs-pseudoprobe.perfbin -p %t.preagg --pa -w %t.yaml -o %t.fdata --profile-write-pseudo-probes
# RUN: FileCheck --input-file %t.yaml %s --check-prefix CHECK-YAML
## Check pseudo-probes in BAT YAML profile (BOLTed binary)
# RUN: link_fdata %s %t.bolt %t.preagg2 PREAGG
# RUN: perf2bolt %t.bolt -p %t.preagg2 --pa -w %t.yaml2 -o %t.fdata2 --profile-write-pseudo-probes
# RUN: FileCheck --input-file %t.yaml2 %s --check-prefix CHECK-YAML
# CHECK-YAML: name: bar
# CHECK-YAML: - bid: 0
# CHECK-YAML: probes: [ { blk: [ 1, 4 ] } ]
# CHECK-YAML: inline_tree: [ { } ]
#
# CHECK-YAML: name: foo
# CHECK-YAML: - bid: 0
# CHECK-YAML: probes: [ { blk: [ 1, 2 ] } ]
# CHECK-YAML: inline_tree: [ { g: 1 }, { g: 0, cs: 8 } ]
#
# CHECK-YAML: name: main
# CHECK-YAML: - bid: 0
# CHECK-YAML: probes: [ { blk: [ 1, 2 ], ids: [ 1 ] }, { } ]
# CHECK-YAML: inline_tree: [ { g: 2 }, { g: 1, cs: 2 }, { g: 0, p: 1, cs: 8 } ]
#
# CHECK-YAML: pseudo_probe_desc:
# CHECK-YAML-NEXT: gs: [ 0xE413754A191DB537, 0x5CF8C24CDB18BDAC, 0xDB956436E78DD5FA ]
# CHECK-YAML-NEXT: gh: [ 2, 0, 1 ]
# CHECK-YAML-NEXT: hs: [ 0x200205A19C5B4, 0x10000FFFFFFFF, 0x10E852DA94 ]
#
## Check that without --profile-write-pseudo-probes option, no pseudo probes are
## generated
# RUN: perf2bolt %S/../../../llvm/test/tools/llvm-profgen/Inputs/inline-cs-pseudoprobe.perfbin -p %t.preagg --pa -w %t.yaml3 -o %t.fdata
# RUN: FileCheck --input-file %t.yaml3 %s --check-prefix CHECK-NO-OPT
# CHECK-NO-OPT-NOT: probes:
# CHECK-NO-OPT-NOT: inline_tree:
# CHECK-NO-OPT-NOT: pseudo_probe_desc:
CHECK: Report of decoding input pseudo probe binaries
CHECK-NEXT: Pseudo Probe Desc:
CHECK-NEXT: GUID: 6699318081062747564 Name: foo
CHECK-NEXT: Hash: 563088904013236
CHECK-NEXT: GUID: 15822663052811949562 Name: main
CHECK-NEXT: Hash: 281479271677951
CHECK-NEXT: GUID: 16434608426314478903 Name: bar
CHECK-NEXT: Hash: 72617220756
CHECK: [Probe]: FUNC: bar Index: 1 Type: Block
CHECK: [Probe]: FUNC: bar Index: 4 Type: Block
CHECK: [Probe]: FUNC: foo Index: 1 Type: Block
CHECK: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK: [Probe]: FUNC: foo Index: 5 Type: Block
CHECK: [Probe]: FUNC: foo Index: 6 Type: Block
CHECK: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK: [Probe]: FUNC: foo Index: 3 Type: Block
CHECK: [Probe]: FUNC: foo Index: 4 Type: Block
CHECK: [Probe]: FUNC: bar Index: 1 Type: Block Inlined: @ foo:8
CHECK: [Probe]: FUNC: bar Index: 4 Type: Block Inlined: @ foo:8
CHECK: [Probe]: FUNC: foo Index: 6 Type: Block
CHECK: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK: [Probe]: FUNC: foo Index: 7 Type: Block
CHECK: [Probe]: FUNC: foo Index: 9 Type: DirectCall
CHECK: [Probe]: FUNC: main Index: 1 Type: Block
CHECK: [Probe]: FUNC: foo Index: 1 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 5 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 6 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 3 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 4 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: bar Index: 1 Type: Block Inlined: @ main:2 @ foo:8
CHECK: [Probe]: FUNC: bar Index: 4 Type: Block Inlined: @ main:2 @ foo:8
CHECK: [Probe]: FUNC: foo Index: 6 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 7 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 9 Type: DirectCall Inlined: @ main:2
CHECK: Pseudo Probe Address Conversion results:
CHECK: Address: 0x201750 FUNC: bar Index: 1 Type: Block
CHECK: Address: 0x201750 FUNC: bar Index: 4 Type: Block
CHECK: Address: 0x201770 FUNC: foo Index: 1 Type: Block
CHECK: Address: 0x201770 FUNC: foo Index: 2 Type: Block
CHECK: Address: 0x20177d FUNC: foo Index: 5 Type: Block
CHECK: Address: 0x20177d FUNC: foo Index: 6 Type: Block
CHECK: Address: 0x20177d FUNC: foo Index: 2 Type: Block
CHECK: Address: 0x20178b FUNC: foo Index: 3 Type: Block
CHECK: Address: 0x2017aa FUNC: foo Index: 4 Type: Block
CHECK: Address: 0x2017aa FUNC: bar Index: 1 Type: Block Inlined: @ foo:8
CHECK: Address: 0x2017aa FUNC: bar Index: 4 Type: Block Inlined: @ foo:8
CHECK: Address: 0x2017aa FUNC: foo Index: 6 Type: Block
CHECK: Address: 0x2017aa FUNC: foo Index: 2 Type: Block
CHECK: Address: 0x2017d7 FUNC: foo Index: 7 Type: Block
CHECK: Address: 0x2017e2 FUNC: foo Index: 9 Type: DirectCall
CHECK: Address: 0x2017f0 FUNC: main Index: 1 Type: Block
CHECK: Address: 0x2017f0 FUNC: foo Index: 1 Type: Block Inlined: @ main:2
CHECK: Address: 0x2017f0 FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK: Address: 0x2017fd FUNC: foo Index: 5 Type: Block Inlined: @ main:2
CHECK: Address: 0x2017fd FUNC: foo Index: 6 Type: Block Inlined: @ main:2
CHECK: Address: 0x2017fd FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK: Address: 0x20180b FUNC: foo Index: 3 Type: Block Inlined: @ main:2
CHECK: Address: 0x20182a FUNC: foo Index: 4 Type: Block Inlined: @ main:2
CHECK: Address: 0x20182a FUNC: bar Index: 1 Type: Block Inlined: @ main:2 @ foo:8
CHECK: Address: 0x20182a FUNC: bar Index: 4 Type: Block Inlined: @ main:2 @ foo:8
CHECK: Address: 0x20182a FUNC: foo Index: 6 Type: Block Inlined: @ main:2
CHECK: Address: 0x20182a FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK: Address: 0x201857 FUNC: foo Index: 7 Type: Block Inlined: @ main:2
CHECK: Address: 0x201862 FUNC: foo Index: 9 Type: DirectCall Inlined: @ main:2
CHECK: Address: 2103120
CHECK-NEXT: [Probe]: FUNC: bar Index: 1 Type: Block
CHECK-NEXT: [Probe]: FUNC: bar Index: 4 Type: Block
CHECK-NEXT: Address: 2103152
CHECK-NEXT: [Probe]: FUNC: foo Index: 1 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK-NEXT: Address: 2103165
CHECK-NEXT: [Probe]: FUNC: foo Index: 5 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 6 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK-NEXT: Address: 2103179
CHECK-NEXT: [Probe]: FUNC: foo Index: 3 Type: Block
CHECK-NEXT: Address: 2103210
CHECK-NEXT: [Probe]: FUNC: foo Index: 4 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 6 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK-NEXT: [Probe]: FUNC: bar Index: 1 Type: Block Inlined: @ foo:8
CHECK-NEXT: [Probe]: FUNC: bar Index: 4 Type: Block Inlined: @ foo:8
CHECK-NEXT: Address: 2103255
CHECK-NEXT: [Probe]: FUNC: foo Index: 7 Type: Block
CHECK-NEXT: Address: 2103266
CHECK-NEXT: [Probe]: FUNC: foo Index: 9 Type: DirectCall
CHECK-NEXT: Address: 2103280
CHECK-NEXT: [Probe]: FUNC: main Index: 1 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 1 Type: Block Inlined: @ main:2
CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK-NEXT: Address: 2103293
CHECK-NEXT: [Probe]: FUNC: foo Index: 5 Type: Block Inlined: @ main:2
CHECK-NEXT: [Probe]: FUNC: foo Index: 6 Type: Block Inlined: @ main:2
CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK-NEXT: Address: 2103307
CHECK-NEXT: [Probe]: FUNC: foo Index: 3 Type: Block Inlined: @ main:2
CHECK-NEXT: Address: 2103338
CHECK-NEXT: [Probe]: FUNC: foo Index: 4 Type: Block Inlined: @ main:2
CHECK-NEXT: [Probe]: FUNC: foo Index: 6 Type: Block Inlined: @ main:2
CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK-NEXT: [Probe]: FUNC: bar Index: 1 Type: Block Inlined: @ main:2 @ foo:8
CHECK-NEXT: [Probe]: FUNC: bar Index: 4 Type: Block Inlined: @ main:2 @ foo:8
CHECK-NEXT: Address: 2103383
CHECK-NEXT: [Probe]: FUNC: foo Index: 7 Type: Block Inlined: @ main:2
CHECK-NEXT: Address: 2103394
CHECK-NEXT: [Probe]: FUNC: foo Index: 9 Type: DirectCall Inlined: @ main:2