brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.2 KiB · 9748fc1 Raw
157 lines · plain
1# REQUIRES: system-linux2# 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 %s3 4# PREAGG: B X:0 #foo# 1 05# PREAGG: B X:0 #bar# 1 06# PREAGG: B X:0 #main# 1 07## Check pseudo-probes in regular YAML profile (non-BOLTed binary)8# RUN: link_fdata %s %S/../../../llvm/test/tools/llvm-profgen/Inputs/inline-cs-pseudoprobe.perfbin %t.preagg PREAGG9# 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-probes10# RUN: FileCheck --input-file %t.yaml %s --check-prefix CHECK-YAML11## Check pseudo-probes in BAT YAML profile (BOLTed binary)12# RUN: link_fdata %s %t.bolt %t.preagg2 PREAGG13# RUN: perf2bolt %t.bolt -p %t.preagg2 --pa -w %t.yaml2 -o %t.fdata2 --profile-write-pseudo-probes14# RUN: FileCheck --input-file %t.yaml2 %s --check-prefix CHECK-YAML15# CHECK-YAML: name: bar16# CHECK-YAML: - bid: 017# CHECK-YAML:   probes: [ { blk: [ 1, 4 ] } ]18# CHECK-YAML: inline_tree: [ { } ]19#20# CHECK-YAML: name: foo21# CHECK-YAML: - bid: 022# CHECK-YAML:   probes: [ { blk: [ 1, 2 ] } ]23# CHECK-YAML: inline_tree: [ { g: 1 }, { g: 0, cs: 8 } ]24#25# CHECK-YAML: name: main26# CHECK-YAML: - bid: 027# CHECK-YAML:   probes: [ { blk: [ 1, 2 ], ids: [ 1 ] }, { } ]28# CHECK-YAML: inline_tree: [ { g: 2 }, { g: 1, cs: 2 }, { g: 0, p: 1, cs: 8 } ]29#30# CHECK-YAML: pseudo_probe_desc:31# CHECK-YAML-NEXT: gs: [ 0xE413754A191DB537, 0x5CF8C24CDB18BDAC, 0xDB956436E78DD5FA ]32# CHECK-YAML-NEXT: gh: [ 2, 0, 1 ]33# CHECK-YAML-NEXT: hs: [ 0x200205A19C5B4, 0x10000FFFFFFFF, 0x10E852DA94 ]34#35## Check that without --profile-write-pseudo-probes option, no pseudo probes are36## generated37# RUN: perf2bolt %S/../../../llvm/test/tools/llvm-profgen/Inputs/inline-cs-pseudoprobe.perfbin -p %t.preagg --pa -w %t.yaml3 -o %t.fdata38# RUN: FileCheck --input-file %t.yaml3 %s --check-prefix CHECK-NO-OPT39# CHECK-NO-OPT-NOT: probes:40# CHECK-NO-OPT-NOT: inline_tree:41# CHECK-NO-OPT-NOT: pseudo_probe_desc:42 43CHECK: Report of decoding input pseudo probe binaries44 45CHECK-NEXT: Pseudo Probe Desc:46CHECK-NEXT: GUID: 6699318081062747564 Name: foo47CHECK-NEXT: Hash: 56308890401323648CHECK-NEXT: GUID: 15822663052811949562 Name: main49CHECK-NEXT: Hash: 28147927167795150CHECK-NEXT: GUID: 16434608426314478903 Name: bar51CHECK-NEXT: Hash: 7261722075652 53CHECK:  [Probe]: FUNC: bar Index: 1  Type: Block54CHECK:  [Probe]: FUNC: bar Index: 4  Type: Block55CHECK:  [Probe]: FUNC: foo Index: 1  Type: Block56CHECK:  [Probe]: FUNC: foo Index: 2  Type: Block57CHECK:  [Probe]: FUNC: foo Index: 5  Type: Block58CHECK:  [Probe]: FUNC: foo Index: 6  Type: Block59CHECK:  [Probe]: FUNC: foo Index: 2  Type: Block60CHECK:  [Probe]: FUNC: foo Index: 3  Type: Block61CHECK:  [Probe]: FUNC: foo Index: 4  Type: Block62CHECK:  [Probe]: FUNC: bar Index: 1  Type: Block  Inlined: @ foo:863CHECK:  [Probe]: FUNC: bar Index: 4  Type: Block  Inlined: @ foo:864CHECK:  [Probe]: FUNC: foo Index: 6  Type: Block65CHECK:  [Probe]: FUNC: foo Index: 2  Type: Block66CHECK:  [Probe]: FUNC: foo Index: 7  Type: Block67CHECK:  [Probe]: FUNC: foo Index: 9  Type: DirectCall68CHECK:  [Probe]: FUNC: main Index: 1  Type: Block69CHECK:  [Probe]: FUNC: foo Index: 1  Type: Block  Inlined: @ main:270CHECK:  [Probe]: FUNC: foo Index: 2  Type: Block  Inlined: @ main:271CHECK:  [Probe]: FUNC: foo Index: 5  Type: Block  Inlined: @ main:272CHECK:  [Probe]: FUNC: foo Index: 6  Type: Block  Inlined: @ main:273CHECK:  [Probe]: FUNC: foo Index: 2  Type: Block  Inlined: @ main:274CHECK:  [Probe]: FUNC: foo Index: 3  Type: Block  Inlined: @ main:275CHECK:  [Probe]: FUNC: foo Index: 4  Type: Block  Inlined: @ main:276CHECK:  [Probe]: FUNC: bar Index: 1  Type: Block  Inlined: @ main:2 @ foo:877CHECK:  [Probe]: FUNC: bar Index: 4  Type: Block  Inlined: @ main:2 @ foo:878CHECK:  [Probe]: FUNC: foo Index: 6  Type: Block  Inlined: @ main:279CHECK:  [Probe]: FUNC: foo Index: 2  Type: Block  Inlined: @ main:280CHECK:  [Probe]: FUNC: foo Index: 7  Type: Block  Inlined: @ main:281CHECK:  [Probe]: FUNC: foo Index: 9  Type: DirectCall  Inlined: @ main:282 83CHECK: Pseudo Probe Address Conversion results:84 85CHECK: Address: 0x201750 FUNC: bar Index: 1  Type: Block86CHECK: Address: 0x201750 FUNC: bar Index: 4  Type: Block87CHECK: Address: 0x201770 FUNC: foo Index: 1  Type: Block88CHECK: Address: 0x201770 FUNC: foo Index: 2  Type: Block89CHECK: Address: 0x20177d FUNC: foo Index: 5  Type: Block90CHECK: Address: 0x20177d FUNC: foo Index: 6  Type: Block91CHECK: Address: 0x20177d FUNC: foo Index: 2  Type: Block92CHECK: Address: 0x20178b FUNC: foo Index: 3  Type: Block93CHECK: Address: 0x2017aa FUNC: foo Index: 4  Type: Block94CHECK: Address: 0x2017aa FUNC: bar Index: 1  Type: Block  Inlined: @ foo:895CHECK: Address: 0x2017aa FUNC: bar Index: 4  Type: Block  Inlined: @ foo:896CHECK: Address: 0x2017aa FUNC: foo Index: 6  Type: Block97CHECK: Address: 0x2017aa FUNC: foo Index: 2  Type: Block98CHECK: Address: 0x2017d7 FUNC: foo Index: 7  Type: Block99CHECK: Address: 0x2017e2 FUNC: foo Index: 9  Type: DirectCall100CHECK: Address: 0x2017f0 FUNC: main Index: 1  Type: Block101CHECK: Address: 0x2017f0 FUNC: foo Index: 1  Type: Block  Inlined: @ main:2102CHECK: Address: 0x2017f0 FUNC: foo Index: 2  Type: Block  Inlined: @ main:2103CHECK: Address: 0x2017fd FUNC: foo Index: 5  Type: Block  Inlined: @ main:2104CHECK: Address: 0x2017fd FUNC: foo Index: 6  Type: Block  Inlined: @ main:2105CHECK: Address: 0x2017fd FUNC: foo Index: 2  Type: Block  Inlined: @ main:2106CHECK: Address: 0x20180b FUNC: foo Index: 3  Type: Block  Inlined: @ main:2107CHECK: Address: 0x20182a FUNC: foo Index: 4  Type: Block  Inlined: @ main:2108CHECK: Address: 0x20182a FUNC: bar Index: 1  Type: Block  Inlined: @ main:2 @ foo:8109CHECK: Address: 0x20182a FUNC: bar Index: 4  Type: Block  Inlined: @ main:2 @ foo:8110CHECK: Address: 0x20182a FUNC: foo Index: 6  Type: Block  Inlined: @ main:2111CHECK: Address: 0x20182a FUNC: foo Index: 2  Type: Block  Inlined: @ main:2112CHECK: Address: 0x201857 FUNC: foo Index: 7  Type: Block  Inlined: @ main:2113CHECK: Address: 0x201862 FUNC: foo Index: 9  Type: DirectCall  Inlined: @ main:2114 115CHECK: 			Address:  2103120116CHECK-NEXT:  [Probe]: FUNC: bar Index: 1  Type: Block117CHECK-NEXT:  [Probe]: FUNC: bar Index: 4  Type: Block118CHECK-NEXT: Address:  2103152119CHECK-NEXT:  [Probe]: FUNC: foo Index: 1  Type: Block120CHECK-NEXT:  [Probe]: FUNC: foo Index: 2  Type: Block121CHECK-NEXT: Address:  2103165122CHECK-NEXT:  [Probe]: FUNC: foo Index: 5  Type: Block123CHECK-NEXT:  [Probe]: FUNC: foo Index: 6  Type: Block124CHECK-NEXT:  [Probe]: FUNC: foo Index: 2  Type: Block125CHECK-NEXT: Address:  2103179126CHECK-NEXT:  [Probe]: FUNC: foo Index: 3  Type: Block127CHECK-NEXT: Address:  2103210128CHECK-NEXT:  [Probe]: FUNC: foo Index: 4  Type: Block129CHECK-NEXT:  [Probe]: FUNC: foo Index: 6  Type: Block130CHECK-NEXT:  [Probe]: FUNC: foo Index: 2  Type: Block131CHECK-NEXT:  [Probe]: FUNC: bar Index: 1  Type: Block  Inlined: @ foo:8132CHECK-NEXT:  [Probe]: FUNC: bar Index: 4  Type: Block  Inlined: @ foo:8133CHECK-NEXT: Address:  2103255134CHECK-NEXT:  [Probe]: FUNC: foo Index: 7  Type: Block135CHECK-NEXT: Address:  2103266136CHECK-NEXT:  [Probe]: FUNC: foo Index: 9  Type: DirectCall137CHECK-NEXT: Address:  2103280138CHECK-NEXT:  [Probe]: FUNC: main Index: 1  Type: Block139CHECK-NEXT:  [Probe]: FUNC: foo Index: 1  Type: Block  Inlined: @ main:2140CHECK-NEXT:  [Probe]: FUNC: foo Index: 2  Type: Block  Inlined: @ main:2141CHECK-NEXT: Address:  2103293142CHECK-NEXT:  [Probe]: FUNC: foo Index: 5  Type: Block  Inlined: @ main:2143CHECK-NEXT:  [Probe]: FUNC: foo Index: 6  Type: Block  Inlined: @ main:2144CHECK-NEXT:  [Probe]: FUNC: foo Index: 2  Type: Block  Inlined: @ main:2145CHECK-NEXT: Address:  2103307146CHECK-NEXT:  [Probe]: FUNC: foo Index: 3  Type: Block  Inlined: @ main:2147CHECK-NEXT: Address:  2103338148CHECK-NEXT:  [Probe]: FUNC: foo Index: 4  Type: Block  Inlined: @ main:2149CHECK-NEXT:  [Probe]: FUNC: foo Index: 6  Type: Block  Inlined: @ main:2150CHECK-NEXT:  [Probe]: FUNC: foo Index: 2  Type: Block  Inlined: @ main:2151CHECK-NEXT:  [Probe]: FUNC: bar Index: 1  Type: Block  Inlined: @ main:2 @ foo:8152CHECK-NEXT:  [Probe]: FUNC: bar Index: 4  Type: Block  Inlined: @ main:2 @ foo:8153CHECK-NEXT: Address:  2103383154CHECK-NEXT:  [Probe]: FUNC: foo Index: 7  Type: Block  Inlined: @ main:2155CHECK-NEXT: Address:  2103394156CHECK-NEXT:  [Probe]: FUNC: foo Index: 9  Type: DirectCall  Inlined: @ main:2157