@@ -85,7 +85,7 @@ define void @iv_casts(ptr %dst, ptr %src, i32 %x, i64 %N) #0 {
8585;
8686; PRED-LABEL: define void @iv_casts(
8787; PRED-SAME: ptr [[DST:%.*]], ptr [[SRC:%.*]], i32 [[X:%.*]], i64 [[N:%.*]]) #[[ATTR0:[0-9]+]] {
88- ; PRED-NEXT: [[ENTRY:.*]]:
88+ ; PRED-NEXT: [[ENTRY:.*:]]
8989; PRED-NEXT: [[SRC2:%.*]] = ptrtoint ptr [[SRC]] to i64
9090; PRED-NEXT: [[DST1:%.*]] = ptrtoint ptr [[DST]] to i64
9191; PRED-NEXT: [[TMP0:%.*]] = add i64 [[N]], 1
@@ -129,10 +129,9 @@ define void @iv_casts(ptr %dst, ptr %src, i32 %x, i64 %N) #0 {
129129; PRED: [[MIDDLE_BLOCK]]:
130130; PRED-NEXT: br label %[[EXIT:.*]]
131131; PRED: [[SCALAR_PH]]:
132- ; PRED-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ 0, %[[ENTRY]] ], [ 0, %[[VECTOR_MEMCHECK]] ]
133132; PRED-NEXT: br label %[[LOOP:.*]]
134133; PRED: [[LOOP]]:
135- ; PRED-NEXT: [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL]] , %[[SCALAR_PH]] ], [ [[IV_NEXT:%.*]], %[[LOOP]] ]
134+ ; PRED-NEXT: [[IV:%.*]] = phi i64 [ 0 , %[[SCALAR_PH]] ], [ [[IV_NEXT:%.*]], %[[LOOP]] ]
136135; PRED-NEXT: [[GEP_SRC:%.*]] = getelementptr i8, ptr [[SRC]], i64 [[IV]]
137136; PRED-NEXT: [[L:%.*]] = load i8, ptr [[GEP_SRC]], align 1
138137; PRED-NEXT: [[L_EXT:%.*]] = zext i8 [[L]] to i32
@@ -237,7 +236,7 @@ define void @iv_trunc(i32 %x, ptr %dst, i64 %N) #0 {
237236;
238237; PRED-LABEL: define void @iv_trunc(
239238; PRED-SAME: i32 [[X:%.*]], ptr [[DST:%.*]], i64 [[N:%.*]]) #[[ATTR0]] {
240- ; PRED-NEXT: [[ENTRY:.*]]:
239+ ; PRED-NEXT: [[ENTRY:.*:]]
241240; PRED-NEXT: [[MUL_X:%.*]] = add i32 [[X]], 1
242241; PRED-NEXT: [[TMP0:%.*]] = add i64 [[N]], 1
243242; PRED-NEXT: br i1 false, label %[[SCALAR_PH:.*]], label %[[VECTOR_SCEVCHECK:.*]]
@@ -297,10 +296,9 @@ define void @iv_trunc(i32 %x, ptr %dst, i64 %N) #0 {
297296; PRED: [[MIDDLE_BLOCK]]:
298297; PRED-NEXT: br label %[[EXIT:.*]]
299298; PRED: [[SCALAR_PH]]:
300- ; PRED-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ 0, %[[ENTRY]] ], [ 0, %[[VECTOR_SCEVCHECK]] ]
301299; PRED-NEXT: br label %[[FOR_BODY:.*]]
302300; PRED: [[FOR_BODY]]:
303- ; PRED-NEXT: [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL]] , %[[SCALAR_PH]] ], [ [[IV_NEXT:%.*]], %[[FOR_BODY]] ]
301+ ; PRED-NEXT: [[IV:%.*]] = phi i64 [ 0 , %[[SCALAR_PH]] ], [ [[IV_NEXT:%.*]], %[[FOR_BODY]] ]
304302; PRED-NEXT: [[TRUNC_IV:%.*]] = trunc i64 [[IV]] to i32
305303; PRED-NEXT: [[ADD_I:%.*]] = mul i32 [[MUL_X]], [[TRUNC_IV]]
306304; PRED-NEXT: [[IV_MUL:%.*]] = zext i32 [[ADD_I]] to i64
@@ -404,7 +402,7 @@ define void @trunc_ivs_and_store(i32 %x, ptr %dst, i64 %N) #0 {
404402;
405403; PRED-LABEL: define void @trunc_ivs_and_store(
406404; PRED-SAME: i32 [[X:%.*]], ptr [[DST:%.*]], i64 [[N:%.*]]) #[[ATTR0]] {
407- ; PRED-NEXT: [[ENTRY:.*]]:
405+ ; PRED-NEXT: [[ENTRY:.*:]]
408406; PRED-NEXT: [[MUL:%.*]] = mul i32 [[X]], [[X]]
409407; PRED-NEXT: [[TMP0:%.*]] = add i64 [[N]], 1
410408; PRED-NEXT: br i1 false, label %[[SCALAR_PH:.*]], label %[[VECTOR_SCEVCHECK:.*]]
@@ -486,12 +484,10 @@ define void @trunc_ivs_and_store(i32 %x, ptr %dst, i64 %N) #0 {
486484; PRED: [[MIDDLE_BLOCK]]:
487485; PRED-NEXT: br label %[[EXIT:.*]]
488486; PRED: [[SCALAR_PH]]:
489- ; PRED-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ 0, %[[ENTRY]] ], [ 0, %[[VECTOR_SCEVCHECK]] ]
490- ; PRED-NEXT: [[BC_RESUME_VAL8:%.*]] = phi i32 [ 0, %[[ENTRY]] ], [ 0, %[[VECTOR_SCEVCHECK]] ]
491487; PRED-NEXT: br label %[[LOOP:.*]]
492488; PRED: [[LOOP]]:
493- ; PRED-NEXT: [[IV_1:%.*]] = phi i64 [ [[BC_RESUME_VAL]] , %[[SCALAR_PH]] ], [ [[IV_1_NEXT:%.*]], %[[LOOP]] ]
494- ; PRED-NEXT: [[IV_2:%.*]] = phi i32 [ [[BC_RESUME_VAL8]] , %[[SCALAR_PH]] ], [ [[IV_2_NEXT:%.*]], %[[LOOP]] ]
489+ ; PRED-NEXT: [[IV_1:%.*]] = phi i64 [ 0 , %[[SCALAR_PH]] ], [ [[IV_1_NEXT:%.*]], %[[LOOP]] ]
490+ ; PRED-NEXT: [[IV_2:%.*]] = phi i32 [ 0 , %[[SCALAR_PH]] ], [ [[IV_2_NEXT:%.*]], %[[LOOP]] ]
495491; PRED-NEXT: [[IV_1_TRUNC:%.*]] = trunc i64 [[IV_1]] to i32
496492; PRED-NEXT: [[IV_1_MUL:%.*]] = mul i32 [[MUL]], [[IV_1_TRUNC]]
497493; PRED-NEXT: [[IV_2_NEXT]] = add i32 [[IV_2]], 1
@@ -596,7 +592,7 @@ define void @ivs_trunc_and_ext(i32 %x, ptr %dst, i64 %N) #0 {
596592;
597593; PRED-LABEL: define void @ivs_trunc_and_ext(
598594; PRED-SAME: i32 [[X:%.*]], ptr [[DST:%.*]], i64 [[N:%.*]]) #[[ATTR0]] {
599- ; PRED-NEXT: [[ENTRY:.*]]:
595+ ; PRED-NEXT: [[ENTRY:.*:]]
600596; PRED-NEXT: [[ADD:%.*]] = add i32 [[X]], 1
601597; PRED-NEXT: [[TMP0:%.*]] = add i64 [[N]], 1
602598; PRED-NEXT: br i1 false, label %[[SCALAR_PH:.*]], label %[[VECTOR_SCEVCHECK:.*]]
@@ -677,12 +673,10 @@ define void @ivs_trunc_and_ext(i32 %x, ptr %dst, i64 %N) #0 {
677673; PRED: [[MIDDLE_BLOCK]]:
678674; PRED-NEXT: br label %[[EXIT:.*]]
679675; PRED: [[SCALAR_PH]]:
680- ; PRED-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ 0, %[[ENTRY]] ], [ 0, %[[VECTOR_SCEVCHECK]] ]
681- ; PRED-NEXT: [[BC_RESUME_VAL7:%.*]] = phi i32 [ 0, %[[ENTRY]] ], [ 0, %[[VECTOR_SCEVCHECK]] ]
682676; PRED-NEXT: br label %[[LOOP:.*]]
683677; PRED: [[LOOP]]:
684- ; PRED-NEXT: [[IV_1:%.*]] = phi i64 [ [[BC_RESUME_VAL]] , %[[SCALAR_PH]] ], [ [[IV_1_NEXT:%.*]], %[[LOOP]] ]
685- ; PRED-NEXT: [[IV_2:%.*]] = phi i32 [ [[BC_RESUME_VAL7]] , %[[SCALAR_PH]] ], [ [[IV_2_NEXT:%.*]], %[[LOOP]] ]
678+ ; PRED-NEXT: [[IV_1:%.*]] = phi i64 [ 0 , %[[SCALAR_PH]] ], [ [[IV_1_NEXT:%.*]], %[[LOOP]] ]
679+ ; PRED-NEXT: [[IV_2:%.*]] = phi i32 [ 0 , %[[SCALAR_PH]] ], [ [[IV_2_NEXT:%.*]], %[[LOOP]] ]
686680; PRED-NEXT: [[IV_TRUNC:%.*]] = trunc i64 [[IV_1]] to i32
687681; PRED-NEXT: [[IV_MUL:%.*]] = mul i32 [[ADD]], [[IV_TRUNC]]
688682; PRED-NEXT: [[IV_2_NEXT]] = add i32 [[IV_2]], 1
@@ -769,7 +763,7 @@ define void @exit_cond_zext_iv(ptr %dst, i64 %N) {
769763;
770764; PRED-LABEL: define void @exit_cond_zext_iv(
771765; PRED-SAME: ptr [[DST:%.*]], i64 [[N:%.*]]) {
772- ; PRED-NEXT: [[ENTRY:.*]]:
766+ ; PRED-NEXT: [[ENTRY:.*:]]
773767; PRED-NEXT: [[UMAX1:%.*]] = call i64 @llvm.umax.i64(i64 [[N]], i64 1)
774768; PRED-NEXT: br i1 false, label %[[SCALAR_PH:.*]], label %[[VECTOR_SCEVCHECK:.*]]
775769; PRED: [[VECTOR_SCEVCHECK]]:
@@ -817,12 +811,10 @@ define void @exit_cond_zext_iv(ptr %dst, i64 %N) {
817811; PRED: [[MIDDLE_BLOCK]]:
818812; PRED-NEXT: br label %[[EXIT:.*]]
819813; PRED: [[SCALAR_PH]]:
820- ; PRED-NEXT: [[BC_RESUME_VAL:%.*]] = phi i32 [ 0, %[[ENTRY]] ], [ 0, %[[VECTOR_SCEVCHECK]] ]
821- ; PRED-NEXT: [[BC_RESUME_VAL6:%.*]] = phi i64 [ 0, %[[ENTRY]] ], [ 0, %[[VECTOR_SCEVCHECK]] ]
822814; PRED-NEXT: br label %[[LOOP:.*]]
823815; PRED: [[LOOP]]:
824- ; PRED-NEXT: [[IV_1:%.*]] = phi i32 [ [[BC_RESUME_VAL]] , %[[SCALAR_PH]] ], [ [[IV_1_NEXT:%.*]], %[[LOOP]] ]
825- ; PRED-NEXT: [[IV_CONV:%.*]] = phi i64 [ [[BC_RESUME_VAL6]] , %[[SCALAR_PH]] ], [ [[IV_EXT:%.*]], %[[LOOP]] ]
816+ ; PRED-NEXT: [[IV_1:%.*]] = phi i32 [ 0 , %[[SCALAR_PH]] ], [ [[IV_1_NEXT:%.*]], %[[LOOP]] ]
817+ ; PRED-NEXT: [[IV_CONV:%.*]] = phi i64 [ 0 , %[[SCALAR_PH]] ], [ [[IV_EXT:%.*]], %[[LOOP]] ]
826818; PRED-NEXT: [[GEP:%.*]] = getelementptr { [100 x i32], i32, i32 }, ptr [[DST]], i64 [[IV_CONV]], i32 2
827819; PRED-NEXT: store i32 0, ptr [[GEP]], align 8
828820; PRED-NEXT: [[IV_1_NEXT]] = add i32 [[IV_1]], 1
0 commit comments