xref: /llvm-project/llvm/test/Object/stackmap-dump.test (revision e29e30b1397f3e50f3487491f8a77ae08e4e3471)
1*e29e30b1SFangrui SongRUN: llvm-readobj --stackmap %p/Inputs/stackmap-test.macho-x86-64 | FileCheck %s
20000afd8SLang Hames
323f06e53SSanjoy Das; Note: the macho object file in this test was generated in the following way:
4e03301a3SPhilip Reames; llc -mtriple=x86_64-apple-darwin test/CodeGen/X86/stackmap.ll -o test/Object/Inputs/stackmap-test.macho-x86-64 -filetype=obj
523f06e53SSanjoy Das
6e03301a3SPhilip ReamesCHECK: LLVM StackMap Version: 3
723f06e53SSanjoy DasCHECK-NEXT: Num Functions: 16
823f06e53SSanjoy DasCHECK-NEXT:   Function address: 0, stack size: 8, callsite record count: 1
923f06e53SSanjoy DasCHECK-NEXT:   Function address: 0, stack size: 24, callsite record count: 1
1023f06e53SSanjoy DasCHECK-NEXT:   Function address: 0, stack size: 8, callsite record count: 1
1123f06e53SSanjoy DasCHECK-NEXT:   Function address: 0, stack size: 8, callsite record count: 1
1223f06e53SSanjoy DasCHECK-NEXT:   Function address: 0, stack size: 8, callsite record count: 1
1323f06e53SSanjoy DasCHECK-NEXT:   Function address: 0, stack size: 8, callsite record count: 1
1423f06e53SSanjoy DasCHECK-NEXT:   Function address: 0, stack size: 8, callsite record count: 1
15e03301a3SPhilip ReamesCHECK-NEXT:   Function address: 0, stack size: 8, callsite record count: 1
16e03301a3SPhilip ReamesCHECK-NEXT:   Function address: 0, stack size: 8, callsite record count: 1
1723f06e53SSanjoy DasCHECK-NEXT:   Function address: 0, stack size: 56, callsite record count: 1
1823f06e53SSanjoy DasCHECK-NEXT:   Function address: 0, stack size: 56, callsite record count: 1
1923f06e53SSanjoy DasCHECK-NEXT:   Function address: 0, stack size: 8, callsite record count: 1
2023f06e53SSanjoy DasCHECK-NEXT:   Function address: 0, stack size: 56, callsite record count: 2
2123f06e53SSanjoy DasCHECK-NEXT:   Function address: 0, stack size: 8, callsite record count: 4
2223f06e53SSanjoy DasCHECK-NEXT:   Function address: 0, stack size: 56, callsite record count: 1
2323f06e53SSanjoy DasCHECK-NEXT:   Function address: 0, stack size: 18446744073709551615, callsite record count: 1
2423f06e53SSanjoy DasCHECK-NEXT: Num Constants: 3
2523f06e53SSanjoy DasCHECK-NEXT:   #1: 2147483648
2623f06e53SSanjoy DasCHECK-NEXT:   #2: 4294967295
2723f06e53SSanjoy DasCHECK-NEXT:   #3: 4294967296
2823f06e53SSanjoy DasCHECK-NEXT: Num Records: 20
2923f06e53SSanjoy DasCHECK-NEXT:   Record ID: 1, instruction offset: 4
3023f06e53SSanjoy DasCHECK-NEXT:     12 locations:
31eea989a9SPhilip ReamesCHECK-NEXT:       #1: Constant 4294967295, size: 8
32eea989a9SPhilip ReamesCHECK-NEXT:       #2: Constant 4294967295, size: 8
33eea989a9SPhilip ReamesCHECK-NEXT:       #3: Constant 65536, size: 8
34eea989a9SPhilip ReamesCHECK-NEXT:       #4: Constant 2000000000, size: 8
35eea989a9SPhilip ReamesCHECK-NEXT:       #5: Constant 2147483647, size: 8
36eea989a9SPhilip ReamesCHECK-NEXT:       #6: Constant 4294967295, size: 8
37eea989a9SPhilip ReamesCHECK-NEXT:       #7: Constant 4294967295, size: 8
38eea989a9SPhilip ReamesCHECK-NEXT:       #8: Constant 0, size: 8
39eea989a9SPhilip ReamesCHECK-NEXT:       #9: ConstantIndex #0 (2147483648), size: 8
40eea989a9SPhilip ReamesCHECK-NEXT:       #10: ConstantIndex #1 (4294967295), size: 8
41eea989a9SPhilip ReamesCHECK-NEXT:       #11: ConstantIndex #2 (4294967296), size: 8
42eea989a9SPhilip ReamesCHECK-NEXT:       #12: Constant 4294967295, size: 8
430000afd8SLang HamesCHECK-NEXT:     1 live-outs: [ R#7 (8-bytes) ]
4423f06e53SSanjoy Das
4523f06e53SSanjoy DasCHECK:        Record ID: 3, instruction offset: 22
4623f06e53SSanjoy DasCHECK-NEXT:     2 locations:
47eea989a9SPhilip ReamesCHECK-NEXT:       #1: Register R#3, size: 8
48eea989a9SPhilip ReamesCHECK-NEXT:       #2: Register R#14, size: 8
4923f06e53SSanjoy DasCHECK-NEXT:     0 live-outs: [ ]
5023f06e53SSanjoy Das
5123f06e53SSanjoy DasCHECK:        Record ID: 4, instruction offset: 10
5223f06e53SSanjoy DasCHECK-NEXT:     2 locations:
53eea989a9SPhilip ReamesCHECK-NEXT:       #1: Register R#5, size: 8
54eea989a9SPhilip ReamesCHECK-NEXT:       #2: Register R#4, size: 8
5523f06e53SSanjoy DasCHECK-NEXT:     0 live-outs: [ ]
5623f06e53SSanjoy Das
5723f06e53SSanjoy DasCHECK:        Record ID: 5, instruction offset: 4
5823f06e53SSanjoy DasCHECK-NEXT:     2 locations:
59eea989a9SPhilip ReamesCHECK-NEXT:       #1: Register R#0, size: 8
60eea989a9SPhilip ReamesCHECK-NEXT:       #2: Register R#5, size: 8
6123f06e53SSanjoy DasCHECK-NEXT:     2 live-outs: [ R#0 (8-bytes) R#7 (8-bytes) ]
6223f06e53SSanjoy Das
6323f06e53SSanjoy DasCHECK:        Record ID: 6, instruction offset: 4
6423f06e53SSanjoy DasCHECK-NEXT:     2 locations:
65eea989a9SPhilip ReamesCHECK-NEXT:       #1: Register R#4, size: 8
66eea989a9SPhilip ReamesCHECK-NEXT:       #2: Register R#2, size: 8
6723f06e53SSanjoy DasCHECK-NEXT:     1 live-outs: [ R#7 (8-bytes) ]
6823f06e53SSanjoy Das
6923f06e53SSanjoy DasCHECK:        Record ID: 7, instruction offset: 10
7023f06e53SSanjoy DasCHECK-NEXT:     2 locations:
71eea989a9SPhilip ReamesCHECK-NEXT:       #1: Register R#2, size: 8
72eea989a9SPhilip ReamesCHECK-NEXT:       #2: Register R#8, size: 8
7323f06e53SSanjoy DasCHECK-NEXT:     1 live-outs: [ R#7 (8-bytes) ]
7423f06e53SSanjoy Das
7523f06e53SSanjoy DasCHECK:        Record ID: 8, instruction offset: 10
7623f06e53SSanjoy DasCHECK-NEXT:     2 locations:
77eea989a9SPhilip ReamesCHECK-NEXT:       #1: Register R#2, size: 8
78eea989a9SPhilip ReamesCHECK-NEXT:       #2: Register R#8, size: 8
7923f06e53SSanjoy DasCHECK-NEXT:     2 live-outs: [ R#0 (8-bytes) R#7 (8-bytes) ]
8023f06e53SSanjoy Das
81e03301a3SPhilip ReamesCHECK:        Record ID: 11, instruction offset: 4
8223f06e53SSanjoy DasCHECK-NEXT:     17 locations:
83eea989a9SPhilip ReamesCHECK-NEXT:       #1: Register R#9, size: 8
84e03301a3SPhilip ReamesCHECK-NEXT:       #2: Indirect [R#6 + 16], size: 8
85e03301a3SPhilip ReamesCHECK-NEXT:       #3: Indirect [R#6 + 24], size: 8
86e03301a3SPhilip ReamesCHECK-NEXT:       #4: Indirect [R#6 + 32], size: 8
87e03301a3SPhilip ReamesCHECK-NEXT:       #5: Indirect [R#6 + 40], size: 8
88e03301a3SPhilip ReamesCHECK-NEXT:       #6: Indirect [R#6 + 48], size: 8
89e03301a3SPhilip ReamesCHECK-NEXT:       #7: Indirect [R#6 + 56], size: 8
90e03301a3SPhilip ReamesCHECK-NEXT:       #8: Indirect [R#6 + 64], size: 8
91eea989a9SPhilip ReamesCHECK-NEXT:       #9: Indirect [R#6 + 72], size: 8
92eea989a9SPhilip ReamesCHECK-NEXT:       #10: Indirect [R#6 + 80], size: 8
93eea989a9SPhilip ReamesCHECK-NEXT:       #11: Indirect [R#6 + 88], size: 8
94eea989a9SPhilip ReamesCHECK-NEXT:       #12: Indirect [R#6 + 96], size: 8
95eea989a9SPhilip ReamesCHECK-NEXT:       #13: Indirect [R#6 + 104], size: 8
96eea989a9SPhilip ReamesCHECK-NEXT:       #14: Indirect [R#6 + 112], size: 8
97eea989a9SPhilip ReamesCHECK-NEXT:       #15: Indirect [R#6 + 120], size: 8
98eea989a9SPhilip ReamesCHECK-NEXT:       #16: Indirect [R#6 + 128], size: 8
99eea989a9SPhilip ReamesCHECK-NEXT:       #17: Indirect [R#6 + 136], size: 8
10023f06e53SSanjoy DasCHECK-NEXT:     1 live-outs: [ R#7 (8-bytes) ]
10123f06e53SSanjoy Das
102e03301a3SPhilip ReamesCHECK:        Record ID: 12, instruction offset: 4
10323f06e53SSanjoy DasCHECK-NEXT:     17 locations:
104eea989a9SPhilip ReamesCHECK-NEXT:       #1: Register R#0, size: 8
105e03301a3SPhilip ReamesCHECK-NEXT:       #2: Indirect [R#6 + 16], size: 8
106e03301a3SPhilip ReamesCHECK-NEXT:       #3: Indirect [R#6 + 24], size: 8
107e03301a3SPhilip ReamesCHECK-NEXT:       #4: Indirect [R#6 + 32], size: 8
108e03301a3SPhilip ReamesCHECK-NEXT:       #5: Indirect [R#6 + 40], size: 8
109e03301a3SPhilip ReamesCHECK-NEXT:       #6: Indirect [R#6 + 48], size: 8
110e03301a3SPhilip ReamesCHECK-NEXT:       #7: Indirect [R#6 + 56], size: 8
111e03301a3SPhilip ReamesCHECK-NEXT:       #8: Indirect [R#6 + 64], size: 8
112e03301a3SPhilip ReamesCHECK-NEXT:       #9: Indirect [R#6 + 72], size: 8
113e03301a3SPhilip ReamesCHECK-NEXT:       #10: Indirect [R#6 + 80], size: 8
114e03301a3SPhilip ReamesCHECK-NEXT:       #11: Indirect [R#6 + 88], size: 8
115e03301a3SPhilip ReamesCHECK-NEXT:       #12: Indirect [R#6 + 96], size: 8
116e03301a3SPhilip ReamesCHECK-NEXT:       #13: Indirect [R#6 + 104], size: 8
117eea989a9SPhilip ReamesCHECK-NEXT:       #14: Indirect [R#6 + 112], size: 8
118eea989a9SPhilip ReamesCHECK-NEXT:       #15: Indirect [R#6 + 120], size: 8
119eea989a9SPhilip ReamesCHECK-NEXT:       #16: Indirect [R#6 + 128], size: 8
120eea989a9SPhilip ReamesCHECK-NEXT:       #17: Indirect [R#6 + 136], size: 8
12123f06e53SSanjoy DasCHECK-NEXT:     0 live-outs: [ ]
12223f06e53SSanjoy Das
12323f06e53SSanjoy DasCHECK:        Record ID: 13, instruction offset: 50
12423f06e53SSanjoy DasCHECK-NEXT:     1 locations:
125eea989a9SPhilip ReamesCHECK-NEXT:       #1: Indirect [R#6 + -48], size: 4
12623f06e53SSanjoy DasCHECK-NEXT:     0 live-outs: [ ]
12723f06e53SSanjoy Das
12823f06e53SSanjoy DasCHECK:        Record ID: 14, instruction offset: 24
12923f06e53SSanjoy DasCHECK-NEXT:     2 locations:
130eea989a9SPhilip ReamesCHECK-NEXT:       #1: Register R#0, size: 1
131eea989a9SPhilip ReamesCHECK-NEXT:       #2: Register R#3, size: 1
13223f06e53SSanjoy DasCHECK-NEXT:     0 live-outs: [ ]
13323f06e53SSanjoy Das
13423f06e53SSanjoy DasCHECK:        Record ID: 15, instruction offset: 4
13523f06e53SSanjoy DasCHECK-NEXT:     1 locations:
136eea989a9SPhilip ReamesCHECK-NEXT:       #1: Constant 33, size: 8
13723f06e53SSanjoy DasCHECK-NEXT:     0 live-outs: [ ]
13823f06e53SSanjoy Das
139e03301a3SPhilip ReamesCHECK:        Record ID: 16, instruction offset: 16
14023f06e53SSanjoy DasCHECK-NEXT:     1 locations:
141e03301a3SPhilip ReamesCHECK-NEXT:       #1: Direct R#6 + -40, size: 8
14223f06e53SSanjoy DasCHECK-NEXT:     0 live-outs: [ ]
14323f06e53SSanjoy Das
144e03301a3SPhilip ReamesCHECK:        Record ID: 17, instruction offset: 16
14523f06e53SSanjoy DasCHECK-NEXT:     2 locations:
146eea989a9SPhilip ReamesCHECK-NEXT:       #1: Direct R#6 + -8, size: 8
147e03301a3SPhilip ReamesCHECK-NEXT:       #2: Direct R#6 + -16, size: 8
14823f06e53SSanjoy DasCHECK-NEXT:     1 live-outs: [ R#7 (8-bytes) ]
14923f06e53SSanjoy Das
15023f06e53SSanjoy DasCHECK:        Record ID: 4294967295, instruction offset: 4
15123f06e53SSanjoy DasCHECK-NEXT:     0 locations:
15223f06e53SSanjoy DasCHECK-NEXT:     0 live-outs: [ ]
15323f06e53SSanjoy Das
15423f06e53SSanjoy DasCHECK:        Record ID: 4294967296, instruction offset: 4
15523f06e53SSanjoy DasCHECK-NEXT:     0 locations:
15623f06e53SSanjoy DasCHECK-NEXT:     0 live-outs: [ ]
15723f06e53SSanjoy Das
15823f06e53SSanjoy DasCHECK:        Record ID: 9223372036854775807, instruction offset: 4
15923f06e53SSanjoy DasCHECK-NEXT:     0 locations:
16023f06e53SSanjoy DasCHECK-NEXT:     0 live-outs: [ ]
16123f06e53SSanjoy Das
16223f06e53SSanjoy DasCHECK:        Record ID: 18446744073709551615, instruction offset: 4
16323f06e53SSanjoy DasCHECK-NEXT:     0 locations:
16423f06e53SSanjoy DasCHECK-NEXT:     1 live-outs: [ R#7 (8-bytes) ]
16523f06e53SSanjoy Das
16623f06e53SSanjoy DasCHECK:        Record ID: 16, instruction offset: 18
16723f06e53SSanjoy DasCHECK-NEXT:     1 locations:
168eea989a9SPhilip ReamesCHECK-NEXT:       #1: Indirect [R#6 + -44], size: 4
16923f06e53SSanjoy DasCHECK-NEXT:     0 live-outs: [ ]
17023f06e53SSanjoy Das
171e03301a3SPhilip ReamesCHECK:        Record ID: 0, instruction offset: 25
17223f06e53SSanjoy DasCHECK-NEXT:     0 locations:
17323f06e53SSanjoy DasCHECK-NEXT:     0 live-outs: [ ]
174