1- ; RUN: llc -max-registers-for-gc-values=256 -verify-machineinstrs -stop-after twoaddressinstruction < %s | FileCheck --check-prefixes CHECK,CHECK-LV %s
2- ; RUN: llc -max-registers-for-gc-values=256 -verify-machineinstrs -stop-after twoaddressinstruction -early-live-intervals < %s | FileCheck --check-prefixes CHECK,CHECK-LIS %s
1+ ; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
2+ ; RUN: llc -max-registers-for-gc-values=256 -verify-machineinstrs -stop-after twoaddressinstruction < %s | FileCheck --check-prefix=CHECK-LV %s
3+ ; RUN: llc -max-registers-for-gc-values=256 -verify-machineinstrs -stop-after twoaddressinstruction -early-live-intervals < %s | FileCheck --check-prefix=CHECK-LIS %s
34
45target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128-ni:1-p2:32:8:8:32-ni:2"
56target triple = "x86_64-unknown-linux-gnu"
@@ -10,26 +11,54 @@ declare void @bar(ptr addrspace(1)) gc "statepoint-example"
1011declare ptr @fake_personality_function ()
1112
1213; Simplest possible test demonstrating the problem
13-
14- ; CHECK-LABEL: name: test
15- ; CHECK: bb.0
16- ; CHECK-LV: %0:gr64 = COPY killed $rdi
17- ; CHECK-LIS: %0:gr64 = COPY $rdi
18- ; CHECK: %1:gr64 = COPY %0
19- ; CHECK: %1:gr64 = STATEPOINT 2, 5, 0, undef %2:gr64, 2, 0, 2, 0, 2, 0, 2, 1, %1(tied-def 0), 2, 0, 2, 1, 0, 0
20- ; CHECK-LV: TEST64rr killed %0, %0, implicit-def $eflags
21- ; CHECK-LIS: TEST64rr %0, %0, implicit-def $eflags
22- ; CHECK: JCC_1 %bb.2, 4, implicit killed $eflags
23- ; CHECK: JMP_1 %bb.1
24- ; CHECK: bb.1
25- ; CHECK-LV: $rdi = COPY killed %1
26- ; CHECK-LV: STATEPOINT 2, 5, 1, undef %3:gr64, killed $rdi, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0
27- ; CHECK-LIS: $rdi = COPY %1
28- ; CHECK-LIS: STATEPOINT 2, 5, 1, undef %3:gr64, $rdi, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0
29- ; CHECK: RET 0
30- ; CHECK: bb.2
31- ; CHECK: RET 0
3214define void @test (ptr addrspace (1 ) %a ) gc "statepoint-example" {
15+ ; CHECK-LV-LABEL: name: test
16+ ; CHECK-LV: bb.0.entry:
17+ ; CHECK-LV-NEXT: successors: %bb.2(0x30000000), %bb.1(0x50000000)
18+ ; CHECK-LV-NEXT: liveins: $rdi
19+ ; CHECK-LV-NEXT: {{ $}}
20+ ; CHECK-LV-NEXT: [[COPY:%[0-9]+]]:gr64 = COPY killed $rdi
21+ ; CHECK-LV-NEXT: ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
22+ ; CHECK-LV-NEXT: [[COPY1:%[0-9]+]]:gr64 = COPY [[COPY]]
23+ ; CHECK-LV-NEXT: [[COPY1:%[0-9]+]]:gr64 = STATEPOINT 2, 5, 0, undef %2:gr64, 2, 0, 2, 0, 2, 0, 2, 1, [[COPY1]](tied-def 0), 2, 0, 2, 1, 0, 0, csr_64, implicit-def $rsp, implicit-def $ssp
24+ ; CHECK-LV-NEXT: ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
25+ ; CHECK-LV-NEXT: TEST64rr killed [[COPY]], [[COPY]], implicit-def $eflags
26+ ; CHECK-LV-NEXT: JCC_1 %bb.2, 4, implicit killed $eflags
27+ ; CHECK-LV-NEXT: JMP_1 %bb.1
28+ ; CHECK-LV-NEXT: {{ $}}
29+ ; CHECK-LV-NEXT: bb.1.not_zero:
30+ ; CHECK-LV-NEXT: ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
31+ ; CHECK-LV-NEXT: $rdi = COPY killed [[COPY1]]
32+ ; CHECK-LV-NEXT: STATEPOINT 2, 5, 1, undef %3:gr64, killed $rdi, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, csr_64, implicit-def $rsp, implicit-def $ssp
33+ ; CHECK-LV-NEXT: ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
34+ ; CHECK-LV-NEXT: RET 0
35+ ; CHECK-LV-NEXT: {{ $}}
36+ ; CHECK-LV-NEXT: bb.2.zero:
37+ ; CHECK-LV-NEXT: RET 0
38+ ;
39+ ; CHECK-LIS-LABEL: name: test
40+ ; CHECK-LIS: bb.0.entry:
41+ ; CHECK-LIS-NEXT: successors: %bb.2(0x30000000), %bb.1(0x50000000)
42+ ; CHECK-LIS-NEXT: liveins: $rdi
43+ ; CHECK-LIS-NEXT: {{ $}}
44+ ; CHECK-LIS-NEXT: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
45+ ; CHECK-LIS-NEXT: ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
46+ ; CHECK-LIS-NEXT: [[COPY1:%[0-9]+]]:gr64 = COPY [[COPY]]
47+ ; CHECK-LIS-NEXT: [[COPY1:%[0-9]+]]:gr64 = STATEPOINT 2, 5, 0, undef %2:gr64, 2, 0, 2, 0, 2, 0, 2, 1, [[COPY1]](tied-def 0), 2, 0, 2, 1, 0, 0, csr_64, implicit-def $rsp, implicit-def $ssp
48+ ; CHECK-LIS-NEXT: ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
49+ ; CHECK-LIS-NEXT: TEST64rr [[COPY]], [[COPY]], implicit-def $eflags
50+ ; CHECK-LIS-NEXT: JCC_1 %bb.2, 4, implicit killed $eflags
51+ ; CHECK-LIS-NEXT: JMP_1 %bb.1
52+ ; CHECK-LIS-NEXT: {{ $}}
53+ ; CHECK-LIS-NEXT: bb.1.not_zero:
54+ ; CHECK-LIS-NEXT: ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
55+ ; CHECK-LIS-NEXT: $rdi = COPY [[COPY1]]
56+ ; CHECK-LIS-NEXT: STATEPOINT 2, 5, 1, undef %3:gr64, $rdi, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, csr_64, implicit-def $rsp, implicit-def $ssp
57+ ; CHECK-LIS-NEXT: ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
58+ ; CHECK-LIS-NEXT: RET 0
59+ ; CHECK-LIS-NEXT: {{ $}}
60+ ; CHECK-LIS-NEXT: bb.2.zero:
61+ ; CHECK-LIS-NEXT: RET 0
3362entry:
3463 %not7 = icmp eq ptr addrspace (1 ) %a , null
3564 %statepoint_token1745 = call token (i64 , i32 , ptr , i32 , i32 , ...) @llvm.experimental.gc.statepoint.p0 (i64 2 , i32 5 , ptr nonnull elementtype(void ()) @foo , i32 0 , i32 0 , i32 0 , i32 0 ) [ "deopt" (), "gc-live" (ptr addrspace (1 ) %a ) ]
@@ -45,28 +74,138 @@ zero:
4574}
4675
4776; A bit more complex test, where both registers are used in same successor BB
48-
49- ; CHECK-LABEL: name: test2
50- ; CHECK: bb.2
51- ; CHECK: %1:gr64 = STATEPOINT 2882400000, 0, 0, undef %11:gr64, 2, 0, 2, 0, 2, 0, 2, 1, %1(tied-def 0), 2, 0, 2, 1, 0, 0, csr_64
52- ; CHECK: %10:gr64 = COPY %1
53- ; CHECK: %10:gr64 = STATEPOINT 2882400000, 0, 0, undef %13:gr64, 2, 0, 2, 0, 2, 0, 2, 1, %10(tied-def 0), 2, 0, 2, 1, 0, 0, csr_64
54- ; CHECK: JMP_1 %bb.3
55- ; CHECK: bb.3
56- ; CHECK: %18:gr8 = COPY %17.sub_8bit
57- ; CHECK-LV: TEST8rr killed %18, %18, implicit-def $eflags
58- ; CHECK-LIS: TEST8rr %18, %18, implicit-def $eflags
59- ; CHECK: JCC_1 %bb.5, 5, implicit killed $eflags
60- ; CHECK: JMP_1 %bb.4
61- ; CHECK: bb.4
62- ; CHECK: bb.5
63- ; CHECK: %3:gr64 = COPY %10
64- ; CHECK: %4:gr64 = COPY killed %10
65- ; CHECK: %4:gr64 = nuw ADD64ri32 %4, 8, implicit-def dead $eflags
66- ; CHECK: TEST64rr killed %1, %1, implicit-def $eflags
67- ; CHECK: JCC_1 %bb.1, 5, implicit killed $eflags
68- ; CHECK: JMP_1 %bb.6
6977define void @test2 (ptr addrspace (1 ) %this , i32 %0 , ptr addrspace (1 ) %p0 , ptr addrspace (1 ) %p1 ) gc "statepoint-example" personality ptr @fake_personality_function {
78+ ; CHECK-LV-LABEL: name: test2
79+ ; CHECK-LV: bb.0.preheader:
80+ ; CHECK-LV-NEXT: successors: %bb.1(0x80000000)
81+ ; CHECK-LV-NEXT: liveins: $rdx, $rcx
82+ ; CHECK-LV-NEXT: {{ $}}
83+ ; CHECK-LV-NEXT: [[COPY:%[0-9]+]]:gr64 = COPY killed $rcx
84+ ; CHECK-LV-NEXT: [[COPY1:%[0-9]+]]:gr64 = COPY killed $rdx
85+ ; CHECK-LV-NEXT: [[MOV32r0_:%[0-9]+]]:gr32 = MOV32r0 implicit-def dead $eflags
86+ ; CHECK-LV-NEXT: [[COPY2:%[0-9]+]]:gr64 = COPY killed [[COPY1]]
87+ ; CHECK-LV-NEXT: [[COPY3:%[0-9]+]]:gr64 = COPY killed [[COPY]]
88+ ; CHECK-LV-NEXT: {{ $}}
89+ ; CHECK-LV-NEXT: bb.1.loop.head:
90+ ; CHECK-LV-NEXT: successors: %bb.6(0x04000000), %bb.2(0x7c000000)
91+ ; CHECK-LV-NEXT: {{ $}}
92+ ; CHECK-LV-NEXT: [[COPY4:%[0-9]+]]:gr64 = COPY killed [[COPY3]]
93+ ; CHECK-LV-NEXT: [[COPY5:%[0-9]+]]:gr64 = COPY killed [[COPY2]]
94+ ; CHECK-LV-NEXT: TEST64rr killed [[COPY5]], [[COPY5]], implicit-def $eflags
95+ ; CHECK-LV-NEXT: JCC_1 %bb.6, 5, implicit killed $eflags
96+ ; CHECK-LV-NEXT: JMP_1 %bb.2
97+ ; CHECK-LV-NEXT: {{ $}}
98+ ; CHECK-LV-NEXT: bb.2.BB3:
99+ ; CHECK-LV-NEXT: successors: %bb.3(0x7ffff800), %bb.7(0x00000800)
100+ ; CHECK-LV-NEXT: {{ $}}
101+ ; CHECK-LV-NEXT: ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
102+ ; CHECK-LV-NEXT: [[COPY4:%[0-9]+]]:gr64 = STATEPOINT 2882400000, 0, 0, undef %11:gr64, 2, 0, 2, 0, 2, 0, 2, 1, [[COPY4]](tied-def 0), 2, 0, 2, 1, 0, 0, csr_64, implicit-def $rsp, implicit-def $ssp, implicit-def dead $rax
103+ ; CHECK-LV-NEXT: ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
104+ ; CHECK-LV-NEXT: EH_LABEL <mcsymbol >
105+ ; CHECK-LV-NEXT: ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
106+ ; CHECK-LV-NEXT: [[COPY6:%[0-9]+]]:gr64 = COPY [[COPY4]]
107+ ; CHECK-LV-NEXT: [[COPY6:%[0-9]+]]:gr64 = STATEPOINT 2882400000, 0, 0, undef %13:gr64, 2, 0, 2, 0, 2, 0, 2, 1, [[COPY6]](tied-def 0), 2, 0, 2, 1, 0, 0, csr_64, implicit-def $rsp, implicit-def $ssp, implicit-def dead $rax
108+ ; CHECK-LV-NEXT: ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
109+ ; CHECK-LV-NEXT: EH_LABEL <mcsymbol >
110+ ; CHECK-LV-NEXT: JMP_1 %bb.3
111+ ; CHECK-LV-NEXT: {{ $}}
112+ ; CHECK-LV-NEXT: bb.3.BB2:
113+ ; CHECK-LV-NEXT: successors: %bb.4(0x40000000), %bb.5(0x40000000)
114+ ; CHECK-LV-NEXT: {{ $}}
115+ ; CHECK-LV-NEXT: [[COPY7:%[0-9]+]]:gr8 = COPY [[MOV32r0_]].sub_8bit
116+ ; CHECK-LV-NEXT: TEST8rr killed [[COPY7]], [[COPY7]], implicit-def $eflags
117+ ; CHECK-LV-NEXT: JCC_1 %bb.5, 5, implicit killed $eflags
118+ ; CHECK-LV-NEXT: JMP_1 %bb.4
119+ ; CHECK-LV-NEXT: {{ $}}
120+ ; CHECK-LV-NEXT: bb.4.BB4:
121+ ; CHECK-LV-NEXT: successors: %bb.5(0x80000000)
122+ ; CHECK-LV-NEXT: {{ $}}
123+ ; CHECK-LV-NEXT: bb.5.tail:
124+ ; CHECK-LV-NEXT: successors: %bb.6(0x04000000), %bb.1(0x7c000000)
125+ ; CHECK-LV-NEXT: {{ $}}
126+ ; CHECK-LV-NEXT: [[COPY8:%[0-9]+]]:gr64 = COPY [[COPY6]]
127+ ; CHECK-LV-NEXT: [[COPY9:%[0-9]+]]:gr64 = COPY killed [[COPY6]]
128+ ; CHECK-LV-NEXT: [[COPY9:%[0-9]+]]:gr64 = nuw ADD64ri32 [[COPY9]], 8, implicit-def dead $eflags
129+ ; CHECK-LV-NEXT: TEST64rr killed [[COPY4]], [[COPY4]], implicit-def $eflags
130+ ; CHECK-LV-NEXT: [[COPY2:%[0-9]+]]:gr64 = COPY killed [[COPY9]]
131+ ; CHECK-LV-NEXT: [[COPY3:%[0-9]+]]:gr64 = COPY killed [[COPY8]]
132+ ; CHECK-LV-NEXT: JCC_1 %bb.1, 5, implicit killed $eflags
133+ ; CHECK-LV-NEXT: JMP_1 %bb.6
134+ ; CHECK-LV-NEXT: {{ $}}
135+ ; CHECK-LV-NEXT: bb.6.BB1:
136+ ; CHECK-LV-NEXT: RET 0
137+ ; CHECK-LV-NEXT: {{ $}}
138+ ; CHECK-LV-NEXT: bb.7.BB6 (landing-pad):
139+ ; CHECK-LV-NEXT: liveins: $rax, $rdx
140+ ; CHECK-LV-NEXT: {{ $}}
141+ ; CHECK-LV-NEXT: EH_LABEL <mcsymbol >
142+ ; CHECK-LV-NEXT: RET 0
143+ ;
144+ ; CHECK-LIS-LABEL: name: test2
145+ ; CHECK-LIS: bb.0.preheader:
146+ ; CHECK-LIS-NEXT: successors: %bb.1(0x80000000)
147+ ; CHECK-LIS-NEXT: liveins: $rdx, $rcx
148+ ; CHECK-LIS-NEXT: {{ $}}
149+ ; CHECK-LIS-NEXT: [[COPY:%[0-9]+]]:gr64 = COPY $rcx
150+ ; CHECK-LIS-NEXT: [[COPY1:%[0-9]+]]:gr64 = COPY $rdx
151+ ; CHECK-LIS-NEXT: [[MOV32r0_:%[0-9]+]]:gr32 = MOV32r0 implicit-def dead $eflags
152+ ; CHECK-LIS-NEXT: [[COPY2:%[0-9]+]]:gr64 = COPY [[COPY1]]
153+ ; CHECK-LIS-NEXT: [[COPY3:%[0-9]+]]:gr64 = COPY [[COPY]]
154+ ; CHECK-LIS-NEXT: {{ $}}
155+ ; CHECK-LIS-NEXT: bb.1.loop.head:
156+ ; CHECK-LIS-NEXT: successors: %bb.6(0x04000000), %bb.2(0x7c000000)
157+ ; CHECK-LIS-NEXT: {{ $}}
158+ ; CHECK-LIS-NEXT: [[COPY4:%[0-9]+]]:gr64 = COPY [[COPY3]]
159+ ; CHECK-LIS-NEXT: [[COPY5:%[0-9]+]]:gr64 = COPY [[COPY2]]
160+ ; CHECK-LIS-NEXT: TEST64rr [[COPY5]], [[COPY5]], implicit-def $eflags
161+ ; CHECK-LIS-NEXT: JCC_1 %bb.6, 5, implicit killed $eflags
162+ ; CHECK-LIS-NEXT: JMP_1 %bb.2
163+ ; CHECK-LIS-NEXT: {{ $}}
164+ ; CHECK-LIS-NEXT: bb.2.BB3:
165+ ; CHECK-LIS-NEXT: successors: %bb.3(0x7ffff800), %bb.7(0x00000800)
166+ ; CHECK-LIS-NEXT: {{ $}}
167+ ; CHECK-LIS-NEXT: ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
168+ ; CHECK-LIS-NEXT: [[COPY4:%[0-9]+]]:gr64 = STATEPOINT 2882400000, 0, 0, undef %11:gr64, 2, 0, 2, 0, 2, 0, 2, 1, [[COPY4]](tied-def 0), 2, 0, 2, 1, 0, 0, csr_64, implicit-def $rsp, implicit-def $ssp, implicit-def dead $rax
169+ ; CHECK-LIS-NEXT: ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
170+ ; CHECK-LIS-NEXT: EH_LABEL <mcsymbol >
171+ ; CHECK-LIS-NEXT: ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
172+ ; CHECK-LIS-NEXT: [[COPY6:%[0-9]+]]:gr64 = COPY [[COPY4]]
173+ ; CHECK-LIS-NEXT: [[COPY6:%[0-9]+]]:gr64 = STATEPOINT 2882400000, 0, 0, undef %13:gr64, 2, 0, 2, 0, 2, 0, 2, 1, [[COPY6]](tied-def 0), 2, 0, 2, 1, 0, 0, csr_64, implicit-def $rsp, implicit-def $ssp, implicit-def dead $rax
174+ ; CHECK-LIS-NEXT: ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
175+ ; CHECK-LIS-NEXT: EH_LABEL <mcsymbol >
176+ ; CHECK-LIS-NEXT: JMP_1 %bb.3
177+ ; CHECK-LIS-NEXT: {{ $}}
178+ ; CHECK-LIS-NEXT: bb.3.BB2:
179+ ; CHECK-LIS-NEXT: successors: %bb.4(0x40000000), %bb.5(0x40000000)
180+ ; CHECK-LIS-NEXT: {{ $}}
181+ ; CHECK-LIS-NEXT: [[COPY7:%[0-9]+]]:gr8 = COPY [[MOV32r0_]].sub_8bit
182+ ; CHECK-LIS-NEXT: TEST8rr [[COPY7]], [[COPY7]], implicit-def $eflags
183+ ; CHECK-LIS-NEXT: JCC_1 %bb.5, 5, implicit killed $eflags
184+ ; CHECK-LIS-NEXT: JMP_1 %bb.4
185+ ; CHECK-LIS-NEXT: {{ $}}
186+ ; CHECK-LIS-NEXT: bb.4.BB4:
187+ ; CHECK-LIS-NEXT: successors: %bb.5(0x80000000)
188+ ; CHECK-LIS-NEXT: {{ $}}
189+ ; CHECK-LIS-NEXT: bb.5.tail:
190+ ; CHECK-LIS-NEXT: successors: %bb.6(0x04000000), %bb.1(0x7c000000)
191+ ; CHECK-LIS-NEXT: {{ $}}
192+ ; CHECK-LIS-NEXT: [[COPY8:%[0-9]+]]:gr64 = COPY [[COPY6]]
193+ ; CHECK-LIS-NEXT: [[COPY9:%[0-9]+]]:gr64 = COPY killed [[COPY6]]
194+ ; CHECK-LIS-NEXT: [[COPY9:%[0-9]+]]:gr64 = nuw ADD64ri32 [[COPY9]], 8, implicit-def dead $eflags
195+ ; CHECK-LIS-NEXT: TEST64rr killed [[COPY4]], [[COPY4]], implicit-def $eflags
196+ ; CHECK-LIS-NEXT: [[COPY2:%[0-9]+]]:gr64 = COPY [[COPY9]]
197+ ; CHECK-LIS-NEXT: [[COPY3:%[0-9]+]]:gr64 = COPY [[COPY8]]
198+ ; CHECK-LIS-NEXT: JCC_1 %bb.1, 5, implicit killed $eflags
199+ ; CHECK-LIS-NEXT: JMP_1 %bb.6
200+ ; CHECK-LIS-NEXT: {{ $}}
201+ ; CHECK-LIS-NEXT: bb.6.BB1:
202+ ; CHECK-LIS-NEXT: RET 0
203+ ; CHECK-LIS-NEXT: {{ $}}
204+ ; CHECK-LIS-NEXT: bb.7.BB6 (landing-pad):
205+ ; CHECK-LIS-NEXT: liveins: $rax, $rdx
206+ ; CHECK-LIS-NEXT: {{ $}}
207+ ; CHECK-LIS-NEXT: EH_LABEL <mcsymbol >
208+ ; CHECK-LIS-NEXT: RET 0
70209preheader:
71210 br label %loop.head
72211
0 commit comments