1 # REQUIRES: system-linux
2 # RUN: llvm-bolt %S/../../../llvm/test/tools/llvm-profgen/Inputs/inline-cs-pseudoprobe.perfbin --print-pseudo-probes=all -o %t.bolt 2>&1 | FileCheck %s
4 CHECK: Report of decoding input pseudo probe binaries
6 CHECK-NEXT: Pseudo Probe Desc:
7 CHECK-NEXT: GUID: 6699318081062747564 Name: foo
8 CHECK-NEXT: Hash: 563088904013236
9 CHECK-NEXT: GUID: 15822663052811949562 Name: main
10 CHECK-NEXT: Hash: 281479271677951
11 CHECK-NEXT: GUID: 16434608426314478903 Name: bar
12 CHECK-NEXT: Hash: 72617220756
14 CHECK: [Probe]: FUNC: bar Index: 1 Type: Block
15 CHECK: [Probe]: FUNC: bar Index: 4 Type: Block
16 CHECK: [Probe]: FUNC: foo Index: 1 Type: Block
17 CHECK: [Probe]: FUNC: foo Index: 2 Type: Block
18 CHECK: [Probe]: FUNC: foo Index: 5 Type: Block
19 CHECK: [Probe]: FUNC: foo Index: 6 Type: Block
20 CHECK: [Probe]: FUNC: foo Index: 2 Type: Block
21 CHECK: [Probe]: FUNC: foo Index: 3 Type: Block
22 CHECK: [Probe]: FUNC: foo Index: 4 Type: Block
23 CHECK: [Probe]: FUNC: bar Index: 1 Type: Block Inlined: @ foo:8
24 CHECK: [Probe]: FUNC: bar Index: 4 Type: Block Inlined: @ foo:8
25 CHECK: [Probe]: FUNC: foo Index: 6 Type: Block
26 CHECK: [Probe]: FUNC: foo Index: 2 Type: Block
27 CHECK: [Probe]: FUNC: foo Index: 7 Type: Block
28 CHECK: [Probe]: FUNC: foo Index: 9 Type: DirectCall
29 CHECK: [Probe]: FUNC: main Index: 1 Type: Block
30 CHECK: [Probe]: FUNC: foo Index: 1 Type: Block Inlined: @ main:2
31 CHECK: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
32 CHECK: [Probe]: FUNC: foo Index: 5 Type: Block Inlined: @ main:2
33 CHECK: [Probe]: FUNC: foo Index: 6 Type: Block Inlined: @ main:2
34 CHECK: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
35 CHECK: [Probe]: FUNC: foo Index: 3 Type: Block Inlined: @ main:2
36 CHECK: [Probe]: FUNC: foo Index: 4 Type: Block Inlined: @ main:2
37 CHECK: [Probe]: FUNC: bar Index: 1 Type: Block Inlined: @ main:2 @ foo:8
38 CHECK: [Probe]: FUNC: bar Index: 4 Type: Block Inlined: @ main:2 @ foo:8
39 CHECK: [Probe]: FUNC: foo Index: 6 Type: Block Inlined: @ main:2
40 CHECK: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
41 CHECK: [Probe]: FUNC: foo Index: 7 Type: Block Inlined: @ main:2
42 CHECK: [Probe]: FUNC: foo Index: 9 Type: DirectCall Inlined: @ main:2
44 CHECK: Pseudo Probe Address Conversion results:
46 CHECK: Address: 0x201750 FUNC: bar Index: 1 Type: Block
47 CHECK: Address: 0x201750 FUNC: bar Index: 4 Type: Block
48 CHECK: Address: 0x201770 FUNC: foo Index: 1 Type: Block
49 CHECK: Address: 0x201770 FUNC: foo Index: 2 Type: Block
50 CHECK: Address: 0x20177d FUNC: foo Index: 5 Type: Block
51 CHECK: Address: 0x20177d FUNC: foo Index: 6 Type: Block
52 CHECK: Address: 0x20177d FUNC: foo Index: 2 Type: Block
53 CHECK: Address: 0x20178b FUNC: foo Index: 3 Type: Block
54 CHECK: Address: 0x2017aa FUNC: foo Index: 4 Type: Block
55 CHECK: Address: 0x2017aa FUNC: bar Index: 1 Type: Block Inlined: @ foo:8
56 CHECK: Address: 0x2017aa FUNC: bar Index: 4 Type: Block Inlined: @ foo:8
57 CHECK: Address: 0x2017aa FUNC: foo Index: 6 Type: Block
58 CHECK: Address: 0x2017aa FUNC: foo Index: 2 Type: Block
59 CHECK: Address: 0x2017d7 FUNC: foo Index: 7 Type: Block
60 CHECK: Address: 0x2017e2 FUNC: foo Index: 9 Type: DirectCall
61 CHECK: Address: 0x2017f0 FUNC: main Index: 1 Type: Block
62 CHECK: Address: 0x2017f0 FUNC: foo Index: 1 Type: Block Inlined: @ main:2
63 CHECK: Address: 0x2017f0 FUNC: foo Index: 2 Type: Block Inlined: @ main:2
64 CHECK: Address: 0x2017fd FUNC: foo Index: 5 Type: Block Inlined: @ main:2
65 CHECK: Address: 0x2017fd FUNC: foo Index: 6 Type: Block Inlined: @ main:2
66 CHECK: Address: 0x2017fd FUNC: foo Index: 2 Type: Block Inlined: @ main:2
67 CHECK: Address: 0x20180b FUNC: foo Index: 3 Type: Block Inlined: @ main:2
68 CHECK: Address: 0x20182a FUNC: foo Index: 4 Type: Block Inlined: @ main:2
69 CHECK: Address: 0x20182a FUNC: bar Index: 1 Type: Block Inlined: @ main:2 @ foo:8
70 CHECK: Address: 0x20182a FUNC: bar Index: 4 Type: Block Inlined: @ main:2 @ foo:8
71 CHECK: Address: 0x20182a FUNC: foo Index: 6 Type: Block Inlined: @ main:2
72 CHECK: Address: 0x20182a FUNC: foo Index: 2 Type: Block Inlined: @ main:2
73 CHECK: Address: 0x201857 FUNC: foo Index: 7 Type: Block Inlined: @ main:2
74 CHECK: Address: 0x201862 FUNC: foo Index: 9 Type: DirectCall Inlined: @ main:2
76 CHECK: Address: 2103120
77 CHECK-NEXT: [Probe]: FUNC: bar Index: 1 Type: Block
78 CHECK-NEXT: [Probe]: FUNC: bar Index: 4 Type: Block
79 CHECK-NEXT: Address: 2103152
80 CHECK-NEXT: [Probe]: FUNC: foo Index: 1 Type: Block
81 CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block
82 CHECK-NEXT: Address: 2103165
83 CHECK-NEXT: [Probe]: FUNC: foo Index: 5 Type: Block
84 CHECK-NEXT: [Probe]: FUNC: foo Index: 6 Type: Block
85 CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block
86 CHECK-NEXT: Address: 2103179
87 CHECK-NEXT: [Probe]: FUNC: foo Index: 3 Type: Block
88 CHECK-NEXT: Address: 2103210
89 CHECK-NEXT: [Probe]: FUNC: foo Index: 4 Type: Block
90 CHECK-NEXT: [Probe]: FUNC: foo Index: 6 Type: Block
91 CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block
92 CHECK-NEXT: [Probe]: FUNC: bar Index: 1 Type: Block Inlined: @ foo:8
93 CHECK-NEXT: [Probe]: FUNC: bar Index: 4 Type: Block Inlined: @ foo:8
94 CHECK-NEXT: Address: 2103255
95 CHECK-NEXT: [Probe]: FUNC: foo Index: 7 Type: Block
96 CHECK-NEXT: Address: 2103266
97 CHECK-NEXT: [Probe]: FUNC: foo Index: 9 Type: DirectCall
98 CHECK-NEXT: Address: 2103280
99 CHECK-NEXT: [Probe]: FUNC: main Index: 1 Type: Block
100 CHECK-NEXT: [Probe]: FUNC: foo Index: 1 Type: Block Inlined: @ main:2
101 CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
102 CHECK-NEXT: Address: 2103293
103 CHECK-NEXT: [Probe]: FUNC: foo Index: 5 Type: Block Inlined: @ main:2
104 CHECK-NEXT: [Probe]: FUNC: foo Index: 6 Type: Block Inlined: @ main:2
105 CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
106 CHECK-NEXT: Address: 2103307
107 CHECK-NEXT: [Probe]: FUNC: foo Index: 3 Type: Block Inlined: @ main:2
108 CHECK-NEXT: Address: 2103338
109 CHECK-NEXT: [Probe]: FUNC: foo Index: 4 Type: Block Inlined: @ main:2
110 CHECK-NEXT: [Probe]: FUNC: foo Index: 6 Type: Block Inlined: @ main:2
111 CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
112 CHECK-NEXT: [Probe]: FUNC: bar Index: 1 Type: Block Inlined: @ main:2 @ foo:8
113 CHECK-NEXT: [Probe]: FUNC: bar Index: 4 Type: Block Inlined: @ main:2 @ foo:8
114 CHECK-NEXT: Address: 2103383
115 CHECK-NEXT: [Probe]: FUNC: foo Index: 7 Type: Block Inlined: @ main:2
116 CHECK-NEXT: Address: 2103394
117 CHECK-NEXT: [Probe]: FUNC: foo Index: 9 Type: DirectCall Inlined: @ main:2