@@ -23,7 +23,7 @@ define i32 @test1() {
2323; CHECK-NEXT: [[SMAX:%.*]] = call i32 @llvm.smax.i32(i32 [[TMP0]], i32 4)
2424; CHECK-NEXT: [[TMP1:%.*]] = sub i32 [[SMAX]], [[B_PROMOTED]]
2525; CHECK-NEXT: [[MIN_ITERS_CHECK:%.*]] = icmp ult i32 [[TMP1]], 2
26- ; CHECK-NEXT: br i1 [[MIN_ITERS_CHECK]], label %[[_LR_PH_I :.*]], label %[[VECTOR_PH:.*]]
26+ ; CHECK-NEXT: br i1 [[MIN_ITERS_CHECK]], label %[[SCALAR_PH :.*]], label %[[VECTOR_PH:.*]]
2727; CHECK: [[VECTOR_PH]]:
2828; CHECK-NEXT: [[N_MOD_VF:%.*]] = urem i32 [[TMP1]], 2
2929; CHECK-NEXT: [[N_VEC:%.*]] = sub i32 [[TMP1]], [[N_MOD_VF]]
@@ -44,12 +44,12 @@ define i32 @test1() {
4444; CHECK: [[MIDDLE_BLOCK]]:
4545; CHECK-NEXT: [[TMP5:%.*]] = extractelement <2 x i32> [[PREDPHI]], i32 1
4646; CHECK-NEXT: [[CMP_N:%.*]] = icmp eq i32 [[TMP1]], [[N_VEC]]
47- ; CHECK-NEXT: br i1 [[CMP_N]], label %[[F1_EXIT_LOOPEXIT:.*]], label %[[_LR_PH_I ]]
48- ; CHECK: [[_LR_PH_I ]]:
47+ ; CHECK-NEXT: br i1 [[CMP_N]], label %[[F1_EXIT_LOOPEXIT:.*]], label %[[SCALAR_PH ]]
48+ ; CHECK: [[SCALAR_PH ]]:
4949; CHECK-NEXT: [[BC_RESUME_VAL:%.*]] = phi i32 [ [[TMP2]], %[[MIDDLE_BLOCK]] ], [ [[B_PROMOTED]], %[[BB]] ]
5050; CHECK-NEXT: br label %[[DOTLR_PH_I:.*]]
51- ; CHECK: [[_LR_PH_I1 :.*:]]
52- ; CHECK-NEXT: [[UNNAMEDTMP8:%.*]] = phi i32 [ [[UNNAMEDTMP18:%.*]], %[[BB16:.*]] ], [ [[BC_RESUME_VAL]], %[[_LR_PH_I ]] ]
51+ ; CHECK: [[_LR_PH_I :.*:]]
52+ ; CHECK-NEXT: [[UNNAMEDTMP8:%.*]] = phi i32 [ [[UNNAMEDTMP18:%.*]], %[[BB16:.*]] ], [ [[BC_RESUME_VAL]], %[[SCALAR_PH ]] ]
5353; CHECK-NEXT: [[UNNAMEDTMP2:%.*]] = icmp sgt i32 [[UNNAMEDTMP8]], 10
5454; CHECK-NEXT: br i1 [[UNNAMEDTMP2]], label %[[BB16]], label %[[UNNAMEDBB10:.*]]
5555; CHECK: [[UNNAMEDBB10]]:
@@ -96,7 +96,7 @@ define i32 @test2() {
9696; CHECK-NEXT: [[SMAX:%.*]] = call i32 @llvm.smax.i32(i32 [[TMP0]], i32 4)
9797; CHECK-NEXT: [[TMP1:%.*]] = sub i32 [[SMAX]], [[B_PROMOTED]]
9898; CHECK-NEXT: [[MIN_ITERS_CHECK:%.*]] = icmp ult i32 [[TMP1]], 2
99- ; CHECK-NEXT: br i1 [[MIN_ITERS_CHECK]], label %[[_LR_PH_I :.*]], label %[[VECTOR_PH:.*]]
99+ ; CHECK-NEXT: br i1 [[MIN_ITERS_CHECK]], label %[[SCALAR_PH :.*]], label %[[VECTOR_PH:.*]]
100100; CHECK: [[VECTOR_PH]]:
101101; CHECK-NEXT: [[N_MOD_VF:%.*]] = urem i32 [[TMP1]], 2
102102; CHECK-NEXT: [[N_VEC:%.*]] = sub i32 [[TMP1]], [[N_MOD_VF]]
@@ -117,12 +117,12 @@ define i32 @test2() {
117117; CHECK: [[MIDDLE_BLOCK]]:
118118; CHECK-NEXT: [[TMP5:%.*]] = extractelement <2 x i32> [[PREDPHI]], i32 1
119119; CHECK-NEXT: [[CMP_N:%.*]] = icmp eq i32 [[TMP1]], [[N_VEC]]
120- ; CHECK-NEXT: br i1 [[CMP_N]], label %[[F1_EXIT_LOOPEXIT:.*]], label %[[_LR_PH_I ]]
121- ; CHECK: [[_LR_PH_I ]]:
120+ ; CHECK-NEXT: br i1 [[CMP_N]], label %[[F1_EXIT_LOOPEXIT:.*]], label %[[SCALAR_PH ]]
121+ ; CHECK: [[SCALAR_PH ]]:
122122; CHECK-NEXT: [[BC_RESUME_VAL:%.*]] = phi i32 [ [[TMP2]], %[[MIDDLE_BLOCK]] ], [ [[B_PROMOTED]], %[[BB]] ]
123123; CHECK-NEXT: br label %[[DOTLR_PH_I:.*]]
124- ; CHECK: [[_LR_PH_I1 :.*:]]
125- ; CHECK-NEXT: [[UNNAMEDTMP8:%.*]] = phi i32 [ [[UNNAMEDTMP18:%.*]], %[[BB16:.*]] ], [ [[BC_RESUME_VAL]], %[[_LR_PH_I ]] ]
124+ ; CHECK: [[_LR_PH_I :.*:]]
125+ ; CHECK-NEXT: [[UNNAMEDTMP8:%.*]] = phi i32 [ [[UNNAMEDTMP18:%.*]], %[[BB16:.*]] ], [ [[BC_RESUME_VAL]], %[[SCALAR_PH ]] ]
126126; CHECK-NEXT: [[UNNAMEDTMP2:%.*]] = icmp sgt i32 [[UNNAMEDTMP8]], 10
127127; CHECK-NEXT: br i1 [[UNNAMEDTMP2]], label %[[BB16]], label %[[UNNAMEDBB10:.*]]
128128; CHECK: [[UNNAMEDBB10]]:
@@ -257,7 +257,7 @@ define i32 @test4(i32 %N) {
257257; CHECK-NEXT: [[SMAX:%.*]] = call i32 @llvm.smax.i32(i32 [[TMP0]], i32 4)
258258; CHECK-NEXT: [[TMP1:%.*]] = sub i32 [[SMAX]], [[B_PROMOTED]]
259259; CHECK-NEXT: [[MIN_ITERS_CHECK:%.*]] = icmp ult i32 [[TMP1]], 2
260- ; CHECK-NEXT: br i1 [[MIN_ITERS_CHECK]], label %[[_LR_PH_I :.*]], label %[[VECTOR_PH:.*]]
260+ ; CHECK-NEXT: br i1 [[MIN_ITERS_CHECK]], label %[[SCALAR_PH :.*]], label %[[VECTOR_PH:.*]]
261261; CHECK: [[VECTOR_PH]]:
262262; CHECK-NEXT: [[N_MOD_VF:%.*]] = urem i32 [[TMP1]], 2
263263; CHECK-NEXT: [[N_VEC:%.*]] = sub i32 [[TMP1]], [[N_MOD_VF]]
@@ -278,12 +278,12 @@ define i32 @test4(i32 %N) {
278278; CHECK: [[MIDDLE_BLOCK]]:
279279; CHECK-NEXT: [[TMP5:%.*]] = extractelement <2 x i32> [[PREDPHI]], i32 1
280280; CHECK-NEXT: [[CMP_N:%.*]] = icmp eq i32 [[TMP1]], [[N_VEC]]
281- ; CHECK-NEXT: br i1 [[CMP_N]], label %[[F1_EXIT_LOOPEXIT_LOOPEXIT:.*]], label %[[_LR_PH_I ]]
282- ; CHECK: [[_LR_PH_I ]]:
281+ ; CHECK-NEXT: br i1 [[CMP_N]], label %[[F1_EXIT_LOOPEXIT_LOOPEXIT:.*]], label %[[SCALAR_PH ]]
282+ ; CHECK: [[SCALAR_PH ]]:
283283; CHECK-NEXT: [[BC_RESUME_VAL:%.*]] = phi i32 [ [[TMP2]], %[[MIDDLE_BLOCK]] ], [ [[B_PROMOTED]], %[[DOTLR_PH_I_PREHEADER]] ]
284284; CHECK-NEXT: br label %[[DOTLR_PH_I:.*]]
285- ; CHECK: [[_LR_PH_I1 :.*:]]
286- ; CHECK-NEXT: [[UNNAMEDTMP8:%.*]] = phi i32 [ [[UNNAMEDTMP18:%.*]], %[[BB16:.*]] ], [ [[BC_RESUME_VAL]], %[[_LR_PH_I ]] ]
285+ ; CHECK: [[_LR_PH_I :.*:]]
286+ ; CHECK-NEXT: [[UNNAMEDTMP8:%.*]] = phi i32 [ [[UNNAMEDTMP18:%.*]], %[[BB16:.*]] ], [ [[BC_RESUME_VAL]], %[[SCALAR_PH ]] ]
287287; CHECK-NEXT: [[UNNAMEDTMP2:%.*]] = icmp sgt i32 [[UNNAMEDTMP8]], 10
288288; CHECK-NEXT: br i1 [[UNNAMEDTMP2]], label %[[BB16]], label %[[UNNAMEDBB10:.*]]
289289; CHECK: [[UNNAMEDBB10]]:
@@ -519,7 +519,7 @@ define i8 @outside_user_non_phi() {
519519; CHECK-NEXT: [[SMAX:%.*]] = call i32 @llvm.smax.i32(i32 [[TMP0]], i32 4)
520520; CHECK-NEXT: [[TMP1:%.*]] = sub i32 [[SMAX]], [[B_PROMOTED]]
521521; CHECK-NEXT: [[MIN_ITERS_CHECK:%.*]] = icmp ult i32 [[TMP1]], 2
522- ; CHECK-NEXT: br i1 [[MIN_ITERS_CHECK]], label %[[_LR_PH_I :.*]], label %[[VECTOR_PH:.*]]
522+ ; CHECK-NEXT: br i1 [[MIN_ITERS_CHECK]], label %[[SCALAR_PH :.*]], label %[[VECTOR_PH:.*]]
523523; CHECK: [[VECTOR_PH]]:
524524; CHECK-NEXT: [[N_MOD_VF:%.*]] = urem i32 [[TMP1]], 2
525525; CHECK-NEXT: [[N_VEC:%.*]] = sub i32 [[TMP1]], [[N_MOD_VF]]
@@ -541,12 +541,12 @@ define i8 @outside_user_non_phi() {
541541; CHECK: [[MIDDLE_BLOCK]]:
542542; CHECK-NEXT: [[TMP6:%.*]] = extractelement <2 x i8> [[TMP4]], i32 1
543543; CHECK-NEXT: [[CMP_N:%.*]] = icmp eq i32 [[TMP1]], [[N_VEC]]
544- ; CHECK-NEXT: br i1 [[CMP_N]], label %[[F1_EXIT_LOOPEXIT:.*]], label %[[_LR_PH_I ]]
545- ; CHECK: [[_LR_PH_I ]]:
544+ ; CHECK-NEXT: br i1 [[CMP_N]], label %[[F1_EXIT_LOOPEXIT:.*]], label %[[SCALAR_PH ]]
545+ ; CHECK: [[SCALAR_PH ]]:
546546; CHECK-NEXT: [[BC_RESUME_VAL:%.*]] = phi i32 [ [[TMP2]], %[[MIDDLE_BLOCK]] ], [ [[B_PROMOTED]], %[[BB]] ]
547547; CHECK-NEXT: br label %[[DOTLR_PH_I:.*]]
548- ; CHECK: [[_LR_PH_I1 :.*:]]
549- ; CHECK-NEXT: [[UNNAMEDTMP8:%.*]] = phi i32 [ [[UNNAMEDTMP18:%.*]], %[[BB16:.*]] ], [ [[BC_RESUME_VAL]], %[[_LR_PH_I ]] ]
548+ ; CHECK: [[_LR_PH_I :.*:]]
549+ ; CHECK-NEXT: [[UNNAMEDTMP8:%.*]] = phi i32 [ [[UNNAMEDTMP18:%.*]], %[[BB16:.*]] ], [ [[BC_RESUME_VAL]], %[[SCALAR_PH ]] ]
550550; CHECK-NEXT: [[UNNAMEDTMP2:%.*]] = icmp sgt i32 [[UNNAMEDTMP8]], 10
551551; CHECK-NEXT: br i1 [[UNNAMEDTMP2]], label %[[BB16]], label %[[UNNAMEDBB10:.*]]
552552; CHECK: [[UNNAMEDBB10]]:
@@ -650,14 +650,14 @@ define i32 @sum_arrays_outside_use(ptr %B, ptr %A, ptr %C, i32 %N) {
650650; CHECK-NEXT: [[SMAX:%.*]] = call i32 @llvm.smax.i32(i32 [[N]], i32 [[TMP0]])
651651; CHECK-NEXT: [[TMP1:%.*]] = sub i32 [[SMAX]], [[B_PROMOTED]]
652652; CHECK-NEXT: [[MIN_ITERS_CHECK:%.*]] = icmp ult i32 [[TMP1]], 2
653- ; CHECK-NEXT: br i1 [[MIN_ITERS_CHECK]], label %[[_LR_PH_I :.*]], label %[[VECTOR_MEMCHECK:.*]]
653+ ; CHECK-NEXT: br i1 [[MIN_ITERS_CHECK]], label %[[SCALAR_PH :.*]], label %[[VECTOR_MEMCHECK:.*]]
654654; CHECK: [[VECTOR_MEMCHECK]]:
655655; CHECK-NEXT: [[TMP2:%.*]] = sub i32 [[C1]], [[B2]]
656656; CHECK-NEXT: [[DIFF_CHECK:%.*]] = icmp ult i32 [[TMP2]], 8
657657; CHECK-NEXT: [[TMP3:%.*]] = sub i32 [[C1]], [[A3]]
658658; CHECK-NEXT: [[DIFF_CHECK4:%.*]] = icmp ult i32 [[TMP3]], 8
659659; CHECK-NEXT: [[CONFLICT_RDX:%.*]] = or i1 [[DIFF_CHECK]], [[DIFF_CHECK4]]
660- ; CHECK-NEXT: br i1 [[CONFLICT_RDX]], label %[[_LR_PH_I ]], label %[[VECTOR_PH:.*]]
660+ ; CHECK-NEXT: br i1 [[CONFLICT_RDX]], label %[[SCALAR_PH ]], label %[[VECTOR_PH:.*]]
661661; CHECK: [[VECTOR_PH]]:
662662; CHECK-NEXT: [[N_MOD_VF:%.*]] = urem i32 [[TMP1]], 2
663663; CHECK-NEXT: [[N_VEC:%.*]] = sub i32 [[TMP1]], [[N_MOD_VF]]
@@ -680,12 +680,12 @@ define i32 @sum_arrays_outside_use(ptr %B, ptr %A, ptr %C, i32 %N) {
680680; CHECK: [[MIDDLE_BLOCK]]:
681681; CHECK-NEXT: [[TMP15:%.*]] = extractelement <2 x i32> [[TMP11]], i32 1
682682; CHECK-NEXT: [[CMP_N:%.*]] = icmp eq i32 [[TMP1]], [[N_VEC]]
683- ; CHECK-NEXT: br i1 [[CMP_N]], label %[[F1_EXIT_LOOPEXIT:.*]], label %[[_LR_PH_I ]]
684- ; CHECK: [[_LR_PH_I ]]:
683+ ; CHECK-NEXT: br i1 [[CMP_N]], label %[[F1_EXIT_LOOPEXIT:.*]], label %[[SCALAR_PH ]]
684+ ; CHECK: [[SCALAR_PH ]]:
685685; CHECK-NEXT: [[BC_RESUME_VAL:%.*]] = phi i32 [ [[TMP4]], %[[MIDDLE_BLOCK]] ], [ [[B_PROMOTED]], %[[BB]] ], [ [[B_PROMOTED]], %[[VECTOR_MEMCHECK]] ]
686686; CHECK-NEXT: br label %[[DOTLR_PH_I:.*]]
687- ; CHECK: [[_LR_PH_I1 :.*:]]
688- ; CHECK-NEXT: [[IV:%.*]] = phi i32 [ [[IVNEXT:%.*]], %[[DOTLR_PH_I]] ], [ [[BC_RESUME_VAL]], %[[_LR_PH_I ]] ]
687+ ; CHECK: [[_LR_PH_I :.*:]]
688+ ; CHECK-NEXT: [[IV:%.*]] = phi i32 [ [[IVNEXT:%.*]], %[[DOTLR_PH_I]] ], [ [[BC_RESUME_VAL]], %[[SCALAR_PH ]] ]
689689; CHECK-NEXT: [[INDVARS_IV:%.*]] = sext i32 [[IV]] to i64
690690; CHECK-NEXT: [[ARRAYIDX2:%.*]] = getelementptr inbounds i32, ptr [[B]], i64 [[INDVARS_IV]]
691691; CHECK-NEXT: [[BLOAD:%.*]] = load i32, ptr [[ARRAYIDX2]], align 4
0 commit comments