@@ -73,8 +73,8 @@ define void @test_widen_ptr_induction(ptr %ptr.start.1) {
73
73
; CHECK: vec.epilog.middle.block:
74
74
; CHECK-NEXT: br i1 false, label [[EXIT]], label [[VEC_EPILOG_SCALAR_PH]]
75
75
; CHECK: vec.epilog.scalar.ph:
76
- ; CHECK-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ 10000, [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ 10000 , [[VEC_EPILOG_ITER_CHECK ]] ], [ 0 , [[ITER_CHECK:%.* ]] ]
77
- ; CHECK-NEXT: [[BC_RESUME_VAL5:%.*]] = phi ptr [ [[IND_END]], [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ [[IND_END4 ]], [[VEC_EPILOG_ITER_CHECK ]] ], [ [[PTR_START_1 ]], [[ITER_CHECK ]] ]
76
+ ; CHECK-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ 10000, [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ 0 , [[ITER_CHECK:%.* ]] ], [ 10000 , [[VEC_EPILOG_ITER_CHECK ]] ]
77
+ ; CHECK-NEXT: [[BC_RESUME_VAL5:%.*]] = phi ptr [ [[IND_END]], [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ [[PTR_START_1 ]], [[ITER_CHECK ]] ], [ [[IND_END4 ]], [[VEC_EPILOG_ITER_CHECK ]] ]
78
78
; CHECK-NEXT: br label [[LOOP:%.*]]
79
79
; CHECK: loop:
80
80
; CHECK-NEXT: [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL]], [[VEC_EPILOG_SCALAR_PH]] ], [ [[IV_NEXT:%.*]], [[LOOP]] ]
@@ -165,7 +165,7 @@ define void @test_widen_induction(ptr %A, i64 %N) {
165
165
; CHECK-NEXT: [[CMP_N9:%.*]] = icmp eq i64 [[N]], [[N_VEC3]]
166
166
; CHECK-NEXT: br i1 [[CMP_N9]], label [[EXIT]], label [[VEC_EPILOG_SCALAR_PH]]
167
167
; CHECK: vec.epilog.scalar.ph:
168
- ; CHECK-NEXT: [[BC_RESUME_VAL4:%.*]] = phi i64 [ [[N_VEC3]], [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ [[N_VEC]] , [[VEC_EPILOG_ITER_CHECK ]] ], [ 0 , [[ITER_CHECK:%.* ]] ]
168
+ ; CHECK-NEXT: [[BC_RESUME_VAL4:%.*]] = phi i64 [ [[N_VEC3]], [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ 0 , [[ITER_CHECK:%.* ]] ], [ [[N_VEC]] , [[VEC_EPILOG_ITER_CHECK ]] ]
169
169
; CHECK-NEXT: br label [[LOOP:%.*]]
170
170
; CHECK: loop:
171
171
; CHECK-NEXT: [[IV_1:%.*]] = phi i64 [ [[BC_RESUME_VAL4]], [[VEC_EPILOG_SCALAR_PH]] ], [ [[IV_1_NEXT:%.*]], [[LOOP]] ]
@@ -258,7 +258,7 @@ define void @test_widen_induction_variable_start(ptr %A, i64 %N, i64 %start) {
258
258
; CHECK-NEXT: [[CMP_N15:%.*]] = icmp eq i64 [[TMP0]], [[N_VEC3]]
259
259
; CHECK-NEXT: br i1 [[CMP_N15]], label [[EXIT]], label [[VEC_EPILOG_SCALAR_PH]]
260
260
; CHECK: vec.epilog.scalar.ph:
261
- ; CHECK-NEXT: [[BC_RESUME_VAL6:%.*]] = phi i64 [ [[IND_END4]], [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ [[IND_END5 ]], [[VEC_EPILOG_ITER_CHECK ]] ], [ [[START ]], [[ITER_CHECK:%.* ]] ]
261
+ ; CHECK-NEXT: [[BC_RESUME_VAL6:%.*]] = phi i64 [ [[IND_END4]], [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ [[START ]], [[ITER_CHECK:%.* ]] ], [ [[IND_END5 ]], [[VEC_EPILOG_ITER_CHECK ]] ]
262
262
; CHECK-NEXT: br label [[LOOP:%.*]]
263
263
; CHECK: loop:
264
264
; CHECK-NEXT: [[IV_1:%.*]] = phi i64 [ [[BC_RESUME_VAL6]], [[VEC_EPILOG_SCALAR_PH]] ], [ [[IV_1_NEXT:%.*]], [[LOOP]] ]
@@ -344,8 +344,8 @@ define void @test_widen_induction_step_2(ptr %A, i64 %N, i32 %step) {
344
344
; CHECK-NEXT: [[CMP_N11:%.*]] = icmp eq i64 [[N]], [[IND_END]]
345
345
; CHECK-NEXT: br i1 [[CMP_N11]], label [[EXIT]], label [[VEC_EPILOG_SCALAR_PH]]
346
346
; CHECK: vec.epilog.scalar.ph:
347
- ; CHECK-NEXT: [[BC_RESUME_VAL5:%.*]] = phi i64 [ [[IND_END]], [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ [[IND_END4]] , [[VEC_EPILOG_ITER_CHECK ]] ], [ 0 , [[ITER_CHECK:%.* ]] ]
348
- ; CHECK-NEXT: [[BC_RESUME_VAL6:%.*]] = phi i64 [ [[IND_END]], [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ [[IND_END4]] , [[VEC_EPILOG_ITER_CHECK ]] ], [ 0 , [[ITER_CHECK ]] ]
347
+ ; CHECK-NEXT: [[BC_RESUME_VAL5:%.*]] = phi i64 [ [[IND_END]], [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ 0 , [[ITER_CHECK:%.* ]] ], [ [[IND_END4]] , [[VEC_EPILOG_ITER_CHECK ]] ]
348
+ ; CHECK-NEXT: [[BC_RESUME_VAL6:%.*]] = phi i64 [ [[IND_END]], [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ 0 , [[ITER_CHECK ]] ], [ [[IND_END4]] , [[VEC_EPILOG_ITER_CHECK ]] ]
349
349
; CHECK-NEXT: br label [[LOOP:%.*]]
350
350
; CHECK: loop:
351
351
; CHECK-NEXT: [[IV_1:%.*]] = phi i64 [ [[BC_RESUME_VAL5]], [[VEC_EPILOG_SCALAR_PH]] ], [ [[IV_1_NEXT:%.*]], [[LOOP]] ]
@@ -431,7 +431,7 @@ define void @test_widen_extended_induction(ptr %dst) {
431
431
; CHECK: vec.epilog.middle.block:
432
432
; CHECK-NEXT: br i1 true, label [[EXIT]], label [[VEC_EPILOG_SCALAR_PH]]
433
433
; CHECK: vec.epilog.scalar.ph:
434
- ; CHECK-NEXT: [[BC_RESUME_VAL1:%.*]] = phi i8 [ 16, [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ 16 , [[VEC_EPILOG_ITER_CHECK ]] ], [ 0, [[ITER_CHECK:%.*]] ], [ 0 , [[VECTOR_SCEVCHECK ]] ]
434
+ ; CHECK-NEXT: [[BC_RESUME_VAL1:%.*]] = phi i8 [ 16, [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ 0 , [[VECTOR_SCEVCHECK ]] ], [ 0, [[ITER_CHECK:%.*]] ], [ 16 , [[VEC_EPILOG_ITER_CHECK ]] ]
435
435
; CHECK-NEXT: br label [[LOOP:%.*]]
436
436
; CHECK: loop:
437
437
; CHECK-NEXT: [[IV:%.*]] = phi i8 [ [[BC_RESUME_VAL1]], [[VEC_EPILOG_SCALAR_PH]] ], [ [[IV_NEXT:%.*]], [[LOOP]] ]
@@ -509,7 +509,7 @@ define void @test_widen_truncated_induction(ptr %A) {
509
509
; CHECK: vec.epilog.middle.block:
510
510
; CHECK-NEXT: br i1 true, label [[EXIT]], label [[VEC_EPILOG_SCALAR_PH]]
511
511
; CHECK: vec.epilog.scalar.ph:
512
- ; CHECK-NEXT: [[BC_RESUME_VAL1:%.*]] = phi i64 [ 10000, [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ 10000 , [[VEC_EPILOG_ITER_CHECK ]] ], [ 0 , [[ITER_CHECK:%.* ]] ]
512
+ ; CHECK-NEXT: [[BC_RESUME_VAL1:%.*]] = phi i64 [ 10000, [[VEC_EPILOG_MIDDLE_BLOCK]] ], [ 0 , [[ITER_CHECK:%.* ]] ], [ 10000 , [[VEC_EPILOG_ITER_CHECK ]] ]
513
513
; CHECK-NEXT: br label [[LOOP:%.*]]
514
514
; CHECK: loop:
515
515
; CHECK-NEXT: [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL1]], [[VEC_EPILOG_SCALAR_PH]] ], [ [[IV_NEXT:%.*]], [[LOOP]] ]
0 commit comments