@@ -16,7 +16,7 @@ target triple = "aarch64-unknown-linux-gnu"
1616; CHECK-NEXT: Live-in ir<1024> = original trip-count
1717; CHECK-EMPTY:
1818; CHECK-NEXT: ir-bb<entry>:
19- ; CHECK-NEXT: Successor(s): vector.ph
19+ ; CHECK-NEXT: Successor(s): scalar.ph, vector.ph
2020; CHECK-EMPTY:
2121; CHECK-NEXT: vector.ph:
2222; CHECK-NEXT: Successor(s): vector loop
@@ -43,6 +43,9 @@ target triple = "aarch64-unknown-linux-gnu"
4343; CHECK-NEXT: EMIT branch-on-cond vp<[[CMP]]>
4444; CHECK-NEXT: Successor(s): ir-bb<for.cond.cleanup>, scalar.ph
4545; CHECK-EMPTY:
46+ ; CHECK-NEXT: ir-bb<for.cond.cleanup>:
47+ ; CHECK-NEXT: No successors
48+ ; CHECK-EMPTY:
4649; CHECK-NEXT: scalar.ph:
4750; CHECK-NEXT: EMIT vp<[[RESUME:%.+]]> = resume-phi vp<[[VTC]]>, ir<0>
4851; CHECK-NEXT: Successor(s): ir-bb<for.body>
@@ -51,9 +54,6 @@ target triple = "aarch64-unknown-linux-gnu"
5154; CHECK-NEXT: IR %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ] (extra operand: vp<[[RESUME]]> from scalar.ph)
5255; CHECK: IR %exitcond = icmp eq i64 %indvars.iv.next, 1024
5356; CHECK-NEXT: No successors
54- ; CHECK-EMPTY:
55- ; CHECK-NEXT: ir-bb<for.cond.cleanup>:
56- ; CHECK-NEXT: No successors
5757; CHECK-NEXT: }
5858
5959; CHECK: VPlan 'Initial VPlan for VF={4},UF>=1' {
@@ -63,7 +63,7 @@ target triple = "aarch64-unknown-linux-gnu"
6363; CHECK-NEXT: Live-in ir<1024> = original trip-count
6464; CHECK-EMPTY:
6565; CHECK-NEXT: ir-bb<entry>:
66- ; CHECK-NEXT: Successor(s): vector.ph
66+ ; CHECK-NEXT: Successor(s): scalar.ph, vector.ph
6767; CHECK-EMPTY:
6868; CHECK-NEXT: vector.ph:
6969; CHECK-NEXT: Successor(s): vector loop
@@ -90,6 +90,9 @@ target triple = "aarch64-unknown-linux-gnu"
9090; CHECK-NEXT: EMIT branch-on-cond vp<[[CMP]]>
9191; CHECK-NEXT: Successor(s): ir-bb<for.cond.cleanup>, scalar.ph
9292; CHECK-EMPTY:
93+ ; CHECK-NEXT: ir-bb<for.cond.cleanup>:
94+ ; CHECK-NEXT: No successors
95+ ; CHECK-EMPTY:
9396; CHECK-NEXT: scalar.ph:
9497; CHECK-NEXT: EMIT vp<[[RESUME:%.+]]> = resume-phi vp<[[VTC]]>, ir<0>
9598; CHECK-NEXT: Successor(s): ir-bb<for.body>
@@ -98,9 +101,6 @@ target triple = "aarch64-unknown-linux-gnu"
98101; CHECK-NEXT: IR %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ] (extra operand: vp<[[RESUME]]> from scalar.ph)
99102; CHECK: IR %exitcond = icmp eq i64 %indvars.iv.next, 1024
100103; CHECK-NEXT: No successors
101- ; CHECK-EMPTY:
102- ; CHECK-NEXT: ir-bb<for.cond.cleanup>:
103- ; CHECK-NEXT: No successors
104104; CHECK-NEXT: }
105105
106106;; If we have a masked variant at one VF and an unmasked variant at a different
@@ -115,7 +115,7 @@ target triple = "aarch64-unknown-linux-gnu"
115115; CHECK-NEXT: Live-in ir<1024> = original trip-count
116116; CHECK-EMPTY:
117117; CHECK-NEXT: ir-bb<entry>:
118- ; CHECK-NEXT: Successor(s): vector.ph
118+ ; CHECK-NEXT: Successor(s): scalar.ph, vector.ph
119119; CHECK-EMPTY:
120120; CHECK-NEXT: vector.ph:
121121; CHECK-NEXT: Successor(s): vector loop
@@ -142,6 +142,9 @@ target triple = "aarch64-unknown-linux-gnu"
142142; CHECK-NEXT: EMIT branch-on-cond vp<[[CMP]]>
143143; CHECK-NEXT: Successor(s): ir-bb<for.cond.cleanup>, scalar.ph
144144; CHECK-EMPTY:
145+ ; CHECK-NEXT: ir-bb<for.cond.cleanup>:
146+ ; CHECK-NEXT: No successors
147+ ; CHECK-EMPTY:
145148; CHECK-NEXT: scalar.ph:
146149; CHECK-NEXT: EMIT vp<[[RESUME:%.+]]> = resume-phi vp<[[VTC]]>, ir<0>
147150; CHECK-NEXT: Successor(s): ir-bb<for.body>
@@ -150,9 +153,6 @@ target triple = "aarch64-unknown-linux-gnu"
150153; CHECK-NEXT: IR %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
151154; CHECK: IR %exitcond = icmp eq i64 %indvars.iv.next, 1024
152155; CHECK-NEXT: No successors
153- ; CHECK-EMPTY:
154- ; CHECK-NEXT: ir-bb<for.cond.cleanup>:
155- ; CHECK-NEXT: No successors
156156; CHECK-NEXT: }
157157
158158; CHECK: VPlan 'Initial VPlan for VF={4},UF>=1' {
@@ -162,7 +162,7 @@ target triple = "aarch64-unknown-linux-gnu"
162162; CHECK-NEXT: Live-in ir<1024> = original trip-count
163163; CHECK-EMPTY:
164164; CHECK-NEXT: ir-bb<entry>:
165- ; CHECK-NEXT: Successor(s): vector.ph
165+ ; CHECK-NEXT: Successor(s): scalar.ph, vector.ph
166166; CHECK-EMPTY:
167167; CHECK-NEXT: vector.ph:
168168; CHECK-NEXT: Successor(s): vector loop
@@ -189,6 +189,9 @@ target triple = "aarch64-unknown-linux-gnu"
189189; CHECK-NEXT: EMIT branch-on-cond vp<[[CMP]]>
190190; CHECK-NEXT: Successor(s): ir-bb<for.cond.cleanup>, scalar.ph
191191; CHECK-EMPTY:
192+ ; CHECK-NEXT: ir-bb<for.cond.cleanup>:
193+ ; CHECK-NEXT: No successors
194+ ; CHECK-EMPTY:
192195; CHECK-NEXT: scalar.ph:
193196; CHECK-NEXT: EMIT vp<[[RESUME:%.+]]> = resume-phi vp<[[VTC]]>, ir<0>
194197; CHECK-NEXT: Successor(s): ir-bb<for.body>
@@ -197,9 +200,6 @@ target triple = "aarch64-unknown-linux-gnu"
197200; CHECK-NEXT: IR %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ] (extra operand: vp<[[RESUME]]> from scalar.ph)
198201; CHECK: IR %exitcond = icmp eq i64 %indvars.iv.next, 1024
199202; CHECK-NEXT: No successors
200- ; CHECK-EMPTY:
201- ; CHECK-NEXT: ir-bb<for.cond.cleanup>:
202- ; CHECK-NEXT: No successors
203203; CHECK-NEXT: }
204204
205205;; If we have two variants at different VFs, neither of which are masked, we
@@ -213,7 +213,7 @@ target triple = "aarch64-unknown-linux-gnu"
213213; CHECK-NEXT: Live-in ir<1024> = original trip-count
214214; CHECK-EMPTY:
215215; CHECK-NEXT: ir-bb<entry>:
216- ; CHECK-NEXT: Successor(s): vector.ph
216+ ; CHECK-NEXT: Successor(s): scalar.ph, vector.ph
217217; CHECK-EMPTY:
218218; CHECK-NEXT: vector.ph:
219219; CHECK-NEXT: Successor(s): vector loop
@@ -240,6 +240,9 @@ target triple = "aarch64-unknown-linux-gnu"
240240; CHECK-NEXT: EMIT branch-on-cond vp<[[CMP]]>
241241; CHECK-NEXT: Successor(s): ir-bb<for.cond.cleanup>, scalar.ph
242242; CHECK-EMPTY:
243+ ; CHECK-NEXT: ir-bb<for.cond.cleanup>:
244+ ; CHECK-NEXT: No successors
245+ ; CHECK-EMPTY:
243246; CHECK-NEXT: scalar.ph:
244247; CHECK-NEXT: EMIT vp<[[RESUME:%.+]]> = resume-phi vp<[[VTC]]>, ir<0>
245248; CHECK-NEXT: Successor(s): ir-bb<for.body>
@@ -248,9 +251,6 @@ target triple = "aarch64-unknown-linux-gnu"
248251; CHECK-NEXT: IR %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
249252; CHECK: IR %exitcond = icmp eq i64 %indvars.iv.next, 1024
250253; CHECK-NEXT: No successors
251- ; CHECK-EMPTY:
252- ; CHECK-NEXT: ir-bb<for.cond.cleanup>:
253- ; CHECK-NEXT: No successors
254254; CHECK-NEXT: }
255255
256256; CHECK: VPlan 'Initial VPlan for VF={4},UF>=1' {
@@ -260,7 +260,7 @@ target triple = "aarch64-unknown-linux-gnu"
260260; CHECK-NEXT: Live-in ir<1024> = original trip-count
261261; CHECK-EMPTY:
262262; CHECK-NEXT: ir-bb<entry>:
263- ; CHECK-NEXT: Successor(s): vector.ph
263+ ; CHECK-NEXT: Successor(s): scalar.ph, vector.ph
264264; CHECK-EMPTY:
265265; CHECK-NEXT: vector.ph:
266266; CHECK-NEXT: Successor(s): vector loop
@@ -287,6 +287,9 @@ target triple = "aarch64-unknown-linux-gnu"
287287; CHECK-NEXT: EMIT branch-on-cond vp<[[CMP]]>
288288; CHECK-NEXT: Successor(s): ir-bb<for.cond.cleanup>, scalar.ph
289289; CHECK-EMPTY:
290+ ; CHECK-NEXT: ir-bb<for.cond.cleanup>:
291+ ; CHECK-NEXT: No successors
292+ ; CHECK-EMPTY:
290293; CHECK-NEXT: scalar.ph:
291294; CHECK-NEXT: EMIT vp<[[RESUME:%.+]]> = resume-phi vp<[[VTC]]>, ir<0>
292295; CHECK-NEXT: Successor(s): ir-bb<for.body>
@@ -295,9 +298,6 @@ target triple = "aarch64-unknown-linux-gnu"
295298; CHECK-NEXT: IR %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ] (extra operand: vp<[[RESUME]]> from scalar.ph)
296299; CHECK: IR %exitcond = icmp eq i64 %indvars.iv.next, 1024
297300; CHECK-NEXT: No successors
298- ; CHECK-EMPTY:
299- ; CHECK-NEXT: ir-bb<for.cond.cleanup>:
300- ; CHECK-NEXT: No successors
301301; CHECK-NEXT: }
302302
303303define void @test_v4_v4m (ptr noalias %a , ptr readonly %b ) #3 {
0 commit comments