@@ -62,9 +62,9 @@ define void @sink_replicate_region_1(i32 %x, ptr %ptr, ptr noalias %dst) optsize
62
62
; CHECK-NEXT: pred.store.continue:
63
63
; CHECK-NEXT: No successors
64
64
; CHECK-NEXT: }
65
- ; CHECK-NEXT: Successor(s): loop.2
65
+ ; CHECK-NEXT: Successor(s): loop.1
66
66
; CHECK-EMPTY:
67
- ; CHECK-NEXT: loop.2 :
67
+ ; CHECK-NEXT: loop.1 :
68
68
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = add vp<[[CAN_IV]]>, vp<[[VFxUF]]>
69
69
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VEC_TC]]>
70
70
; CHECK-NEXT: No successors
@@ -134,8 +134,8 @@ define void @sink_replicate_region_2(i32 %x, i8 %y, ptr %ptr) optsize {
134
134
; CHECK-NEXT: Successor(s): pred.store.if, pred.store.continue
135
135
; CHECK-EMPTY:
136
136
; CHECK-NEXT: pred.store.if:
137
- ; CHECK-NEXT: REPLICATE ir<%rem> = srem vp<[[SPLICE]]>, ir<%x>
138
137
; CHECK-NEXT: vp<[[STEPS:%.+]]> = SCALAR-STEPS vp<[[CAN_IV]]>, ir<1>
138
+ ; CHECK-NEXT: REPLICATE ir<%rem> = srem vp<[[SPLICE]]>, ir<%x>
139
139
; CHECK-NEXT: REPLICATE ir<%gep> = getelementptr ir<%ptr>, vp<[[STEPS]]>
140
140
; CHECK-NEXT: REPLICATE ir<%add> = add ir<%rem>, ir<%recur.next>
141
141
; CHECK-NEXT: REPLICATE store ir<%add>, ir<%gep>
@@ -144,9 +144,9 @@ define void @sink_replicate_region_2(i32 %x, i8 %y, ptr %ptr) optsize {
144
144
; CHECK-NEXT: pred.store.continue:
145
145
; CHECK-NEXT: No successors
146
146
; CHECK-NEXT: }
147
- ; CHECK-NEXT: Successor(s): loop.1
147
+ ; CHECK-NEXT: Successor(s): loop.0
148
148
; CHECK-EMPTY:
149
- ; CHECK-NEXT: loop.1 :
149
+ ; CHECK-NEXT: loop.0 :
150
150
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = add vp<[[CAN_IV]]>, vp<[[VFxUF]]>
151
151
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VEC_TC]]>
152
152
; CHECK-NEXT: No successors
@@ -207,25 +207,8 @@ define i32 @sink_replicate_region_3_reduction(i32 %x, i8 %y, ptr %ptr) optsize {
207
207
; CHECK-NEXT: EMIT vp<[[MASK:%.+]]> = icmp ule vp<[[WIDEN_CAN]]>, vp<[[BTC]]>
208
208
; CHECK-NEXT: WIDEN-CAST ir<%recur.next> = sext ir<%y> to i32
209
209
; CHECK-NEXT: EMIT vp<[[SPLICE:%.+]]> = first-order splice ir<%recur>, ir<%recur.next>
210
- ; CHECK-NEXT: Successor(s): pred.srem
211
- ; CHECK-EMPTY:
212
- ; CHECK-NEXT: <xVFxUF> pred.srem: {
213
- ; CHECK-NEXT: pred.srem.entry:
214
- ; CHECK-NEXT: BRANCH-ON-MASK vp<[[MASK]]>
215
- ; CHECK-NEXT: Successor(s): pred.srem.if, pred.srem.continue
216
- ; CHECK-EMPTY:
217
- ; CHECK-NEXT: pred.srem.if:
218
- ; CHECK-NEXT: REPLICATE ir<%rem> = srem vp<[[SPLICE]]>, ir<%x> (S->V)
219
- ; CHECK-NEXT: Successor(s): pred.srem.continue
220
- ; CHECK-EMPTY:
221
- ; CHECK-NEXT: pred.srem.continue:
222
- ; CHECK-NEXT: PHI-PREDICATED-INSTRUCTION vp<[[PRED:%.+]]> = ir<%rem>
223
- ; CHECK-NEXT: No successors
224
- ; CHECK-NEXT: }
225
- ; CHECK-NEXT: Successor(s): loop.0
226
- ; CHECK-EMPTY:
227
- ; CHECK-NEXT: loop.0:
228
- ; CHECK-NEXT: WIDEN ir<%add> = add vp<[[PRED]]>, ir<%recur.next>
210
+ ; CHECK-NEXT: WIDEN ir<%rem> = srem vp<[[SPLICE]]>, ir<%x>
211
+ ; CHECK-NEXT: WIDEN ir<%add> = add ir<%rem>, ir<%recur.next>
229
212
; CHECK-NEXT: WIDEN ir<%and.red.next> = and ir<%and.red>, ir<%add>
230
213
; CHECK-NEXT: EMIT vp<[[SEL:%.+]]> = select vp<[[MASK]]>, ir<%and.red.next>, ir<%and.red>
231
214
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = add vp<[[CAN_IV]]>, vp<[[VFxUF]]>
@@ -320,8 +303,8 @@ define void @sink_replicate_region_4_requires_split_at_end_of_block(i32 %x, ptr
320
303
; CHECK-NEXT: Successor(s): pred.store.if, pred.store.continue
321
304
; CHECK-EMPTY:
322
305
; CHECK: pred.store.if:
323
- ; CHECK-NEXT: REPLICATE ir<%rem> = srem vp<[[SPLICE]]>, ir<%x>
324
306
; CHECK-NEXT: REPLICATE ir<%lv.2> = load ir<%gep>
307
+ ; CHECK-NEXT: REPLICATE ir<%rem> = srem vp<[[SPLICE]]>, ir<%x>
325
308
; CHECK-NEXT: REPLICATE ir<%conv.lv.2> = sext ir<%lv.2>
326
309
; CHECK-NEXT: REPLICATE ir<%add.1> = add ir<%conv>, ir<%rem>
327
310
; CHECK-NEXT: REPLICATE ir<%gep.dst> = getelementptr ir<%dst>, vp<[[STEPS]]>
@@ -332,9 +315,9 @@ define void @sink_replicate_region_4_requires_split_at_end_of_block(i32 %x, ptr
332
315
; CHECK: pred.store.continue:
333
316
; CHECK-NEXT: No successors
334
317
; CHECK-NEXT: }
335
- ; CHECK-NEXT: Successor(s): loop.3
318
+ ; CHECK-NEXT: Successor(s): loop.2
336
319
; CHECK-EMPTY:
337
- ; CHECK: loop.3 :
320
+ ; CHECK: loop.2 :
338
321
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = add vp<[[CAN_IV]]>, vp<[[VFxUF]]>
339
322
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VEC_TC]]>
340
323
; CHECK-NEXT: No successors
@@ -424,9 +407,9 @@ define void @sink_replicate_region_after_replicate_region(ptr %ptr, ptr noalias
424
407
; CHECK-NEXT: pred.store.continue:
425
408
; CHECK-NEXT: No successors
426
409
; CHECK-NEXT: }
427
- ; CHECK-NEXT: Successor(s): loop.3
410
+ ; CHECK-NEXT: Successor(s): loop.2
428
411
; CHECK-EMPTY:
429
- ; CHECK-NEXT: loop.3 :
412
+ ; CHECK-NEXT: loop.2 :
430
413
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = add vp<[[CAN_IV]]>, vp<[[VFxUF]]>
431
414
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VEC_TC]]>
432
415
; CHECK-NEXT: No successors
@@ -497,18 +480,18 @@ define void @need_new_block_after_sinking_pr56146(i32 %x, ptr %src, ptr noalias
497
480
; CHECK-NEXT: Successor(s): pred.store.if, pred.store.continue
498
481
; CHECK-EMPTY:
499
482
; CHECK-NEXT: pred.store.if:
500
- ; CHECK-NEXT: REPLICATE ir<%val> = sdiv vp<[[SPLICE]]>, ir<%x>
501
483
; CHECK-NEXT: vp<[[SCALAR_STEPS:%.+]]> = SCALAR-STEPS vp<[[DERIVED_IV]]>, ir<1>
502
484
; CHECK-NEXT: REPLICATE ir<%gep.dst> = getelementptr ir<%dst>, vp<[[SCALAR_STEPS]]>
485
+ ; CHECK-NEXT: REPLICATE ir<%val> = sdiv vp<[[SPLICE]]>, ir<%x>
503
486
; CHECK-NEXT: REPLICATE store ir<%val>, ir<%gep.dst>
504
487
; CHECK-NEXT: Successor(s): pred.store.continue
505
488
; CHECK-EMPTY:
506
489
; CHECK-NEXT: pred.store.continue:
507
490
; CHECK-NEXT: No successors
508
491
; CHECK-NEXT: }
509
- ; CHECK-NEXT: Successor(s): loop.1
492
+ ; CHECK-NEXT: Successor(s): loop.0
510
493
; CHECK-EMPTY:
511
- ; CHECK-NEXT: loop.1 :
494
+ ; CHECK-NEXT: loop.0 :
512
495
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = add vp<[[CAN_IV]]>, vp<[[VFxUF]]>
513
496
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VEC_TC]]>
514
497
; CHECK-NEXT: No successors
0 commit comments