@@ -73,8 +73,8 @@ define void @test_widen_ptr_induction(ptr %ptr.start.1) {
7373; CHECK: vec.epilog.middle.block:
7474; CHECK-NEXT: br i1 false, label [[EXIT]], label [[VEC_EPILOG_SCALAR_PH]]
7575; 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 ]] ]
7878; CHECK-NEXT: br label [[LOOP:%.*]]
7979; CHECK: loop:
8080; 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) {
165165; CHECK-NEXT: [[CMP_N9:%.*]] = icmp eq i64 [[N]], [[N_VEC3]]
166166; CHECK-NEXT: br i1 [[CMP_N9]], label [[EXIT]], label [[VEC_EPILOG_SCALAR_PH]]
167167; 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 ]] ]
169169; CHECK-NEXT: br label [[LOOP:%.*]]
170170; CHECK: loop:
171171; 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) {
258258; CHECK-NEXT: [[CMP_N15:%.*]] = icmp eq i64 [[TMP0]], [[N_VEC3]]
259259; CHECK-NEXT: br i1 [[CMP_N15]], label [[EXIT]], label [[VEC_EPILOG_SCALAR_PH]]
260260; 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 ]] ]
262262; CHECK-NEXT: br label [[LOOP:%.*]]
263263; CHECK: loop:
264264; 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) {
344344; CHECK-NEXT: [[CMP_N11:%.*]] = icmp eq i64 [[N]], [[IND_END]]
345345; CHECK-NEXT: br i1 [[CMP_N11]], label [[EXIT]], label [[VEC_EPILOG_SCALAR_PH]]
346346; 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 ]] ]
349349; CHECK-NEXT: br label [[LOOP:%.*]]
350350; CHECK: loop:
351351; 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) {
431431; CHECK: vec.epilog.middle.block:
432432; CHECK-NEXT: br i1 true, label [[EXIT]], label [[VEC_EPILOG_SCALAR_PH]]
433433; 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 ]] ]
435435; CHECK-NEXT: br label [[LOOP:%.*]]
436436; CHECK: loop:
437437; 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) {
509509; CHECK: vec.epilog.middle.block:
510510; CHECK-NEXT: br i1 true, label [[EXIT]], label [[VEC_EPILOG_SCALAR_PH]]
511511; 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 ]] ]
513513; CHECK-NEXT: br label [[LOOP:%.*]]
514514; CHECK: loop:
515515; CHECK-NEXT: [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL1]], [[VEC_EPILOG_SCALAR_PH]] ], [ [[IV_NEXT:%.*]], [[LOOP]] ]
0 commit comments