11RUN: llvm-readobj -stackmap %p/Inputs/stackmap-test.macho-x86-64 | FileCheck %s
22
33; Note: the macho object file in this test was generated in the following way:
4- ; llc -mtriple=x86_64-apple-darwin %p/test/CodeGen/X86/stackmap.ll -o stackmap.s
5- ; clang -c stackmap.s -o %p/test/Object/Inputs/stackmap-test.macho-x86-64
4+ ; llc -mtriple=x86_64-apple-darwin test/CodeGen/X86/stackmap.ll -o test/Object/Inputs/stackmap-test.macho-x86-64 -filetype=obj
65
7- CHECK: LLVM StackMap Version: 2
6+ CHECK: LLVM StackMap Version: 3
87CHECK-NEXT: Num Functions: 16
98CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1
109CHECK-NEXT: Function address: 0, stack size: 24, callsite record count: 1
@@ -13,8 +12,8 @@ CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1
1312CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1
1413CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1
1514CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1
16- CHECK-NEXT: Function address: 0, stack size: 56 , callsite record count: 1
17- CHECK-NEXT: Function address: 0, stack size: 56 , callsite record count: 1
15+ CHECK-NEXT: Function address: 0, stack size: 8 , callsite record count: 1
16+ CHECK-NEXT: Function address: 0, stack size: 8 , callsite record count: 1
1817CHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 1
1918CHECK-NEXT: Function address: 0, stack size: 56, callsite record count: 1
2019CHECK-NEXT: Function address: 0, stack size: 8, callsite record count: 1
@@ -79,16 +78,16 @@ CHECK-NEXT: #1: Register R#2, size: 8
7978CHECK-NEXT: #2: Register R#8, size: 8
8079CHECK-NEXT: 2 live-outs: [ R#0 (8-bytes) R#7 (8-bytes) ]
8180
82- CHECK: Record ID: 11, instruction offset: 42
81+ CHECK: Record ID: 11, instruction offset: 4
8382CHECK-NEXT: 17 locations:
8483CHECK-NEXT: #1: Register R#9, size: 8
85- CHECK-NEXT: #2: Register R#14 , size: 8
86- CHECK-NEXT: #3: Register R#10 , size: 8
87- CHECK-NEXT: #4: Register R#3 , size: 8
88- CHECK-NEXT: #5: Register R#0 , size: 8
89- CHECK-NEXT: #6: Register R#13 , size: 8
90- CHECK-NEXT: #7: Register R#12 , size: 8
91- CHECK-NEXT: #8: Register R#15 , size: 8
84+ CHECK-NEXT: #2: Indirect [R#6 + 16] , size: 8
85+ CHECK-NEXT: #3: Indirect [R#6 + 24] , size: 8
86+ CHECK-NEXT: #4: Indirect [R#6 + 32] , size: 8
87+ CHECK-NEXT: #5: Indirect [R#6 + 40] , size: 8
88+ CHECK-NEXT: #6: Indirect [R#6 + 48] , size: 8
89+ CHECK-NEXT: #7: Indirect [R#6 + 56] , size: 8
90+ CHECK-NEXT: #8: Indirect [R#6 + 64] , size: 8
9291CHECK-NEXT: #9: Indirect [R#6 + 72], size: 8
9392CHECK-NEXT: #10: Indirect [R#6 + 80], size: 8
9493CHECK-NEXT: #11: Indirect [R#6 + 88], size: 8
@@ -100,21 +99,21 @@ CHECK-NEXT: #16: Indirect [R#6 + 128], size: 8
10099CHECK-NEXT: #17: Indirect [R#6 + 136], size: 8
101100CHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ]
102101
103- CHECK: Record ID: 12, instruction offset: 62
102+ CHECK: Record ID: 12, instruction offset: 4
104103CHECK-NEXT: 17 locations:
105104CHECK-NEXT: #1: Register R#0, size: 8
106- CHECK-NEXT: #2: Register R#14 , size: 8
107- CHECK-NEXT: #3: Register R#10 , size: 8
108- CHECK-NEXT: #4: Register R#9 , size: 8
109- CHECK-NEXT: #5: Register R#8 , size: 8
110- CHECK-NEXT: #6: Register R#4 , size: 8
111- CHECK-NEXT: #7: Register R#1 , size: 8
112- CHECK-NEXT: #8: Register R#2 , size: 8
113- CHECK-NEXT: #9: Register R#5 , size: 8
114- CHECK-NEXT: #10: Register R#3 , size: 8
115- CHECK-NEXT: #11: Register R#13 , size: 8
116- CHECK-NEXT: #12: Register R#12 , size: 8
117- CHECK-NEXT: #13: Register R#15 , size: 8
105+ CHECK-NEXT: #2: Indirect [R#6 + 16] , size: 8
106+ CHECK-NEXT: #3: Indirect [R#6 + 24] , size: 8
107+ CHECK-NEXT: #4: Indirect [R#6 + 32] , size: 8
108+ CHECK-NEXT: #5: Indirect [R#6 + 40] , size: 8
109+ CHECK-NEXT: #6: Indirect [R#6 + 48] , size: 8
110+ CHECK-NEXT: #7: Indirect [R#6 + 56] , size: 8
111+ CHECK-NEXT: #8: Indirect [R#6 + 64] , size: 8
112+ CHECK-NEXT: #9: Indirect [R#6 + 72] , size: 8
113+ CHECK-NEXT: #10: Indirect [R#6 + 80] , size: 8
114+ CHECK-NEXT: #11: Indirect [R#6 + 88] , size: 8
115+ CHECK-NEXT: #12: Indirect [R#6 + 96] , size: 8
116+ CHECK-NEXT: #13: Indirect [R#6 + 104] , size: 8
118117CHECK-NEXT: #14: Indirect [R#6 + 112], size: 8
119118CHECK-NEXT: #15: Indirect [R#6 + 120], size: 8
120119CHECK-NEXT: #16: Indirect [R#6 + 128], size: 8
@@ -137,15 +136,15 @@ CHECK-NEXT: 1 locations:
137136CHECK-NEXT: #1: Constant 33, size: 8
138137CHECK-NEXT: 0 live-outs: [ ]
139138
140- CHECK: Record ID: 16, instruction offset: 32
139+ CHECK: Record ID: 16, instruction offset: 16
141140CHECK-NEXT: 1 locations:
142- CHECK-NEXT: #1: Direct R#6 + -32 , size: 8
141+ CHECK-NEXT: #1: Direct R#6 + -40 , size: 8
143142CHECK-NEXT: 0 live-outs: [ ]
144143
145- CHECK: Record ID: 17, instruction offset: 32
144+ CHECK: Record ID: 17, instruction offset: 16
146145CHECK-NEXT: 2 locations:
147146CHECK-NEXT: #1: Direct R#6 + -8, size: 8
148- CHECK-NEXT: #2: Direct R#6 + -40 , size: 8
147+ CHECK-NEXT: #2: Direct R#6 + -16 , size: 8
149148CHECK-NEXT: 1 live-outs: [ R#7 (8-bytes) ]
150149
151150CHECK: Record ID: 4294967295, instruction offset: 4
@@ -169,6 +168,6 @@ CHECK-NEXT: 1 locations:
169168CHECK-NEXT: #1: Indirect [R#6 + -44], size: 4
170169CHECK-NEXT: 0 live-outs: [ ]
171170
172- CHECK: Record ID: 0, instruction offset: 26
171+ CHECK: Record ID: 0, instruction offset: 25
173172CHECK-NEXT: 0 locations:
174173CHECK-NEXT: 0 live-outs: [ ]
0 commit comments