Skip to content

Commit a3af6cf

Browse files
committed
[LV][NFC] Remove undef from phi incoming values
Split off from PR #163525, this standalone patch replaces use of undef as incoming PHI values with zero, in order to reduce the likelihood of contributors hitting the `undef deprecator` warning in github.
1 parent c48aa54 commit a3af6cf

21 files changed

+78
-78
lines changed

llvm/test/Transforms/LoopVectorize/2012-10-20-infloop.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ if.then46: ; preds = %for.body40
5656
br label %for.inc50
5757

5858
for.inc50: ; preds = %if.then46, %for.body40
59-
%k.1 = phi i32 [ undef, %for.body40 ], [ %inc47, %if.then46 ]
59+
%k.1 = phi i32 [ 0, %for.body40 ], [ %inc47, %if.then46 ]
6060
%step.1 = phi i32 [ %step.0121, %for.body40 ], [ %inc47, %if.then46 ]
6161
%indvars.iv.next124 = add i64 %indvars.iv123, 1
6262
%lftr.wideiv = trunc i64 %indvars.iv.next124 to i32

llvm/test/Transforms/LoopVectorize/AArch64/pr33053.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ for.body.lr.ph: ; preds = %entry
2121

2222
for.body: ; preds = %for.body.lr.ph, %for.body
2323
%indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.body ]
24-
%d.043 = phi i16 [ undef, %for.body.lr.ph ], [ %.sink28, %for.body ]
25-
%c.042 = phi i16 [ undef, %for.body.lr.ph ], [ %c.0., %for.body ]
24+
%d.043 = phi i16 [ 0, %for.body.lr.ph ], [ %.sink28, %for.body ]
25+
%c.042 = phi i16 [ 0, %for.body.lr.ph ], [ %c.0., %for.body ]
2626
%arrayidx = getelementptr inbounds i16, ptr %1, i64 %indvars.iv
2727
%4 = load i16, ptr %arrayidx, align 2, !tbaa !7
2828
%cmp2 = icmp sgt i16 %c.042, %4
@@ -34,8 +34,8 @@ for.body: ; preds = %for.body.lr.ph, %fo
3434
br i1 %cmp, label %for.body, label %for.end
3535

3636
for.end: ; preds = %for.body, %entry
37-
%c.0.lcssa = phi i16 [ undef, %entry ], [ %c.0., %for.body ]
38-
%d.0.lcssa = phi i16 [ undef, %entry ], [ %.sink28, %for.body ]
37+
%c.0.lcssa = phi i16 [ 0, %entry ], [ %c.0., %for.body ]
38+
%d.0.lcssa = phi i16 [ 0, %entry ], [ %.sink28, %for.body ]
3939
%cmp26 = icmp sgt i16 %c.0.lcssa, %d.0.lcssa
4040
%conv27 = zext i1 %cmp26 to i32
4141
ret i32 %conv27

llvm/test/Transforms/LoopVectorize/AArch64/pr36032.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ define void @_Z1dv() local_unnamed_addr #0 {
1818
; CHECK-NEXT: br label [[FOR_COND:%.*]]
1919
; CHECK: for.cond:
2020
; CHECK-NEXT: [[F_0:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ [[ADD5:%.*]], [[FOR_COND_CLEANUP:%.*]] ]
21-
; CHECK-NEXT: [[G_0:%.*]] = phi i32 [ undef, [[ENTRY]] ], [ [[G_1_LCSSA:%.*]], [[FOR_COND_CLEANUP]] ]
21+
; CHECK-NEXT: [[G_0:%.*]] = phi i32 [ 0, [[ENTRY]] ], [ [[G_1_LCSSA:%.*]], [[FOR_COND_CLEANUP]] ]
2222
; CHECK-NEXT: [[CMP12:%.*]] = icmp ult i32 [[G_0]], 4
2323
; CHECK-NEXT: [[CONV:%.*]] = and i32 [[F_0]], 65535
2424
; CHECK-NEXT: br i1 [[CMP12]], label [[FOR_BODY_LR_PH:%.*]], label [[FOR_COND_CLEANUP]]
@@ -50,7 +50,7 @@ entry:
5050

5151
for.cond: ; preds = %for.cond.cleanup, %entry
5252
%f.0 = phi i32 [ 0, %entry ], [ %add5, %for.cond.cleanup ]
53-
%g.0 = phi i32 [ undef, %entry ], [ %g.1.lcssa, %for.cond.cleanup ]
53+
%g.0 = phi i32 [ 0, %entry ], [ %g.1.lcssa, %for.cond.cleanup ]
5454
%cmp12 = icmp ult i32 %g.0, 4
5555
%conv = and i32 %f.0, 65535
5656
br i1 %cmp12, label %for.body.lr.ph, label %for.cond.cleanup

llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -728,8 +728,8 @@ define void @int_float_struct(ptr nocapture readonly %p) #0 {
728728
; CHECK-NEXT: br label [[VECTOR_BODY:%.*]]
729729
; CHECK: vector.body:
730730
; CHECK-NEXT: [[INDEX:%.*]] = phi i64 [ 0, [[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], [[VECTOR_BODY]] ]
731-
; CHECK-NEXT: [[VEC_PHI:%.*]] = phi <vscale x 4 x float> [ insertelement (<vscale x 4 x float> zeroinitializer, float undef, i32 0), [[VECTOR_PH]] ], [ [[TMP7:%.*]], [[VECTOR_BODY]] ]
732-
; CHECK-NEXT: [[VEC_PHI1:%.*]] = phi <vscale x 4 x i32> [ insertelement (<vscale x 4 x i32> zeroinitializer, i32 undef, i32 0), [[VECTOR_PH]] ], [ [[TMP6:%.*]], [[VECTOR_BODY]] ]
731+
; CHECK-NEXT: [[VEC_PHI:%.*]] = phi <vscale x 4 x float> [ zeroinitializer, [[VECTOR_PH]] ], [ [[TMP7:%.*]], [[VECTOR_BODY]] ]
732+
; CHECK-NEXT: [[VEC_PHI1:%.*]] = phi <vscale x 4 x i32> [ zeroinitializer, [[VECTOR_PH]] ], [ [[TMP6:%.*]], [[VECTOR_BODY]] ]
733733
; CHECK-NEXT: [[TMP2:%.*]] = getelementptr inbounds [[STRUCT_INTFLOAT:%.*]], ptr [[P:%.*]], i64 [[INDEX]]
734734
; CHECK-NEXT: [[WIDE_VEC:%.*]] = load <vscale x 8 x i32>, ptr [[TMP2]], align 4
735735
; CHECK-NEXT: [[STRIDED_VEC:%.*]] = call { <vscale x 4 x i32>, <vscale x 4 x i32> } @llvm.vector.deinterleave2.nxv8i32(<vscale x 8 x i32> [[WIDE_VEC]])
@@ -755,8 +755,8 @@ for.cond.cleanup: ; preds = %for.body
755755

756756
for.body: ; preds = %for.body, %entry
757757
%indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
758-
%SumB.014 = phi float [ undef, %entry ], [ %add3, %for.body ]
759-
%SumA.013 = phi i32 [ undef, %entry ], [ %add, %for.body ]
758+
%SumB.014 = phi float [ 0.0e+00, %entry ], [ %add3, %for.body ]
759+
%SumA.013 = phi i32 [ 0, %entry ], [ %add, %for.body ]
760760
%a = getelementptr inbounds %struct.IntFloat, ptr %p, i64 %indvars.iv, i32 0
761761
%load1 = load i32, ptr %a, align 4
762762
%add = add nsw i32 %load1, %SumA.013

llvm/test/Transforms/LoopVectorize/ARM/arm-ieee-vectorize.ll

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ for.body.preheader: ; preds = %entry
9292

9393
for.body: ; preds = %for.body.preheader, %for.body
9494
%i.07 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ]
95-
%Red.06 = phi i32 [ %add, %for.body ], [ undef, %for.body.preheader ]
95+
%Red.06 = phi i32 [ %add, %for.body ], [ 0, %for.body.preheader ]
9696
%arrayidx = getelementptr inbounds i32, ptr %a, i32 %i.07
9797
%0 = load i32, ptr %arrayidx, align 4
9898
%arrayidx1 = getelementptr inbounds i32, ptr %b, i32 %i.07
@@ -108,7 +108,7 @@ for.end.loopexit: ; preds = %for.body
108108
br label %for.end
109109

110110
for.end: ; preds = %for.end.loopexit, %entry
111-
%Red.0.lcssa = phi i32 [ undef, %entry ], [ %add.lcssa, %for.end.loopexit ]
111+
%Red.0.lcssa = phi i32 [ 0, %entry ], [ %add.lcssa, %for.end.loopexit ]
112112
ret i32 %Red.0.lcssa
113113
}
114114

@@ -129,7 +129,7 @@ for.body.preheader: ; preds = %entry
129129

130130
for.body: ; preds = %for.body.preheader, %for.body
131131
%i.07 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ]
132-
%Red.06 = phi float [ %add, %for.body ], [ undef, %for.body.preheader ]
132+
%Red.06 = phi float [ %add, %for.body ], [ 0.0e+00, %for.body.preheader ]
133133
%arrayidx = getelementptr inbounds float, ptr %a, i32 %i.07
134134
%0 = load float, ptr %arrayidx, align 4
135135
%arrayidx1 = getelementptr inbounds float, ptr %b, i32 %i.07
@@ -145,7 +145,7 @@ for.end.loopexit: ; preds = %for.body
145145
br label %for.end
146146

147147
for.end: ; preds = %for.end.loopexit, %entry
148-
%Red.0.lcssa = phi float [ undef, %entry ], [ %add.lcssa, %for.end.loopexit ]
148+
%Red.0.lcssa = phi float [ 0.0e+00, %entry ], [ %add.lcssa, %for.end.loopexit ]
149149
ret float %Red.0.lcssa
150150
}
151151

@@ -252,7 +252,7 @@ for.body.preheader: ; preds = %entry
252252

253253
for.body: ; preds = %for.body.preheader, %for.body
254254
%i.07 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ]
255-
%Red.06 = phi i32 [ %add, %for.body ], [ undef, %for.body.preheader ]
255+
%Red.06 = phi i32 [ %add, %for.body ], [ 0, %for.body.preheader ]
256256
%arrayidx = getelementptr inbounds i32, ptr %a, i32 %i.07
257257
%0 = load i32, ptr %arrayidx, align 4
258258
%arrayidx1 = getelementptr inbounds i32, ptr %b, i32 %i.07
@@ -268,7 +268,7 @@ for.end.loopexit: ; preds = %for.body
268268
br label %for.end
269269

270270
for.end: ; preds = %for.end.loopexit, %entry
271-
%Red.0.lcssa = phi i32 [ undef, %entry ], [ %add.lcssa, %for.end.loopexit ]
271+
%Red.0.lcssa = phi i32 [ 0, %entry ], [ %add.lcssa, %for.end.loopexit ]
272272
ret i32 %Red.0.lcssa
273273
}
274274

@@ -285,7 +285,7 @@ for.body.preheader: ; preds = %entry
285285

286286
for.body: ; preds = %for.body.preheader, %for.body
287287
%i.07 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ]
288-
%Red.06 = phi float [ %add, %for.body ], [ undef, %for.body.preheader ]
288+
%Red.06 = phi float [ %add, %for.body ], [ 0.0e+00, %for.body.preheader ]
289289
%arrayidx = getelementptr inbounds float, ptr %a, i32 %i.07
290290
%0 = load float, ptr %arrayidx, align 4
291291
%arrayidx1 = getelementptr inbounds float, ptr %b, i32 %i.07
@@ -301,7 +301,7 @@ for.end.loopexit: ; preds = %for.body
301301
br label %for.end
302302

303303
for.end: ; preds = %for.end.loopexit, %entry
304-
%Red.0.lcssa = phi float [ undef, %entry ], [ %add.lcssa, %for.end.loopexit ]
304+
%Red.0.lcssa = phi float [ 0.0e+00, %entry ], [ %add.lcssa, %for.end.loopexit ]
305305
ret float %Red.0.lcssa
306306
}
307307

llvm/test/Transforms/LoopVectorize/ARM/mve-known-trip-count.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ define dso_local i32 @predicated_test(i32 noundef %0, ptr %glob) #0 {
249249
br label %7
250250

251251
7: ; preds = %5, %155
252-
%8 = phi i32 [ %10, %155 ], [ undef, %5 ]
252+
%8 = phi i32 [ %10, %155 ], [ 0, %5 ]
253253
%9 = phi i32 [ %156, %155 ], [ 0, %5 ]
254254
%10 = shl i32 %8, 4
255255
store i32 %10, ptr %6, align 4

llvm/test/Transforms/LoopVectorize/X86/fp80-widest-type.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ define x86_fp80 @test() {
1414
; CHECK-NEXT: br label [[FOR_BODY3_I_3:%.*]]
1515
; CHECK: for.body3.i.3:
1616
; CHECK-NEXT: [[N_ADDR_112_I_3:%.*]] = phi i64 [ [[DEC_I_3:%.*]], [[FOR_BODY3_I_3]] ], [ 24, [[FOO_EXIT:%.*]] ]
17-
; CHECK-NEXT: [[X_ADDR_111_I_3:%.*]] = phi x86_fp80 [ [[MUL_I_3:%.*]], [[FOR_BODY3_I_3]] ], [ undef, [[FOO_EXIT]] ]
17+
; CHECK-NEXT: [[X_ADDR_111_I_3:%.*]] = phi x86_fp80 [ [[MUL_I_3:%.*]], [[FOR_BODY3_I_3]] ], [ 0xK00000000000000000000, [[FOO_EXIT]] ]
1818
; CHECK-NEXT: [[MUL_I_3]] = fmul x86_fp80 [[X_ADDR_111_I_3]], 0xK40008000000000000000
1919
; CHECK-NEXT: [[DEC_I_3]] = add nsw i64 [[N_ADDR_112_I_3]], -1
2020
; CHECK-NEXT: [[CMP2_I_3:%.*]] = icmp sgt i64 [[N_ADDR_112_I_3]], 1
@@ -28,7 +28,7 @@ foo.exit:
2828

2929
for.body3.i.3: ; preds = %for.body3.i.3, %foo.exit
3030
%n.addr.112.i.3 = phi i64 [ %dec.i.3, %for.body3.i.3 ], [ 24, %foo.exit ]
31-
%x.addr.111.i.3 = phi x86_fp80 [ %mul.i.3, %for.body3.i.3 ], [ undef, %foo.exit ]
31+
%x.addr.111.i.3 = phi x86_fp80 [ %mul.i.3, %for.body3.i.3 ], [ zeroinitializer, %foo.exit ]
3232
%mul.i.3 = fmul x86_fp80 %x.addr.111.i.3, 0xK40008000000000000000
3333
%dec.i.3 = add nsw i64 %n.addr.112.i.3, -1
3434
%cmp2.i.3 = icmp sgt i64 %n.addr.112.i.3, 1

llvm/test/Transforms/LoopVectorize/X86/rauw-bug.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ while.cond63.preheader.while.end76_crit_edge:
2121
ret void
2222

2323
while.body:
24-
%d2_fx.015 = phi double [ %sub52, %while.body ], [ undef, %entry ]
25-
%d2_fy.014 = phi double [ %sub58, %while.body ], [ undef, %entry ]
26-
%d3_fy.013 = phi double [ %div56, %while.body ], [ undef, %entry ]
27-
%d3_fx.012 = phi double [ %div50, %while.body ], [ undef, %entry ]
24+
%d2_fx.015 = phi double [ %sub52, %while.body ], [ 0.0e+00, %entry ]
25+
%d2_fy.014 = phi double [ %sub58, %while.body ], [ 0.0e+00, %entry ]
26+
%d3_fy.013 = phi double [ %div56, %while.body ], [ 0.0e+00, %entry ]
27+
%d3_fx.012 = phi double [ %div50, %while.body ], [ 0.0e+00, %entry ]
2828
%div50 = fmul double %d3_fx.012, 1.250000e-01
2929
%sub52 = fsub double 0.000000e+00, %div50
3030
%div56 = fmul double %d3_fy.013, 1.250000e-01

llvm/test/Transforms/LoopVectorize/X86/x86_fp80-interleaved-access.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ for.cond.cleanup:
1515

1616
for.body:
1717
%i.09 = phi i16 [ 0, %entry ], [ %add3, %for.body ]
18-
%res.08 = phi x86_fp80 [ undef, %entry ], [ %3, %for.body ]
18+
%res.08 = phi x86_fp80 [ zeroinitializer, %entry ], [ %3, %for.body ]
1919
%arrayidx = getelementptr inbounds x86_fp80, ptr %a, i16 %i.09
2020
%0 = load x86_fp80, ptr %arrayidx, align 1
2121
%add = or i16 %i.09, 1

llvm/test/Transforms/LoopVectorize/i8-induction.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ scalar.ph:
2020

2121
for.body:
2222
%mul16 = phi i8 [ 0, %scalar.ph ], [ %mul, %for.body ] ; <------- i8 induction var.
23-
%c.015 = phi i8 [ undef, %scalar.ph ], [ %conv8, %for.body ]
23+
%c.015 = phi i8 [ 0, %scalar.ph ], [ %conv8, %for.body ]
2424
%conv2 = sext i8 %c.015 to i32
2525
%tobool = icmp ne i8 %c.015, 0
2626
%.sink = select i1 %tobool, i8 %c.015, i8 %0

0 commit comments

Comments
 (0)