Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion llvm/test/Transforms/LoopVectorize/12-12-11-if-conv.ll
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,5 @@ if.end: ; preds = %for.body, %if.then
br i1 %exitcond, label %for.end, label %for.body

for.end: ; preds = %if.end, %entry
ret i32 undef
ret i32 poison
}
2 changes: 1 addition & 1 deletion llvm/test/Transforms/LoopVectorize/2012-10-20-infloop.ll
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ if.then46: ; preds = %for.body40
br label %for.inc50

for.inc50: ; preds = %if.then46, %for.body40
%k.1 = phi i32 [ undef, %for.body40 ], [ %inc47, %if.then46 ]
%k.1 = phi i32 [ poison, %for.body40 ], [ %inc47, %if.then46 ]
%step.1 = phi i32 [ %step.0121, %for.body40 ], [ %inc47, %if.then46 ]
%indvars.iv.next124 = add i64 %indvars.iv123, 1
%lftr.wideiv = trunc i64 %indvars.iv.next124 to i32
Expand Down
8 changes: 4 additions & 4 deletions llvm/test/Transforms/LoopVectorize/AArch64/pr33053.ll
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ for.body.lr.ph: ; preds = %entry

for.body: ; preds = %for.body.lr.ph, %for.body
%indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.body ]
%d.043 = phi i16 [ undef, %for.body.lr.ph ], [ %.sink28, %for.body ]
%c.042 = phi i16 [ undef, %for.body.lr.ph ], [ %c.0., %for.body ]
%d.043 = phi i16 [ poison, %for.body.lr.ph ], [ %.sink28, %for.body ]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this changes the loop to always result in poison I think. Better to use a concrete start value

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using concrete values in some cases actually changes the vectorisation behaviour, e.g. see what happens in LoopVectorize/uniform-blend.ll when replacing poison with 0. So I don't think we want to replace all poison values with concrete values, unless there is a way to reproduce existing behaviour.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep I think there probably will be some cases where we make decsions based on the fact that the value is undef/poison, but I'd hope that those would be excpetions

%c.042 = phi i16 [ poison, %for.body.lr.ph ], [ %c.0., %for.body ]
%arrayidx = getelementptr inbounds i16, ptr %1, i64 %indvars.iv
%4 = load i16, ptr %arrayidx, align 2, !tbaa !7
%cmp2 = icmp sgt i16 %c.042, %4
Expand All @@ -34,8 +34,8 @@ for.body: ; preds = %for.body.lr.ph, %fo
br i1 %cmp, label %for.body, label %for.end

for.end: ; preds = %for.body, %entry
%c.0.lcssa = phi i16 [ undef, %entry ], [ %c.0., %for.body ]
%d.0.lcssa = phi i16 [ undef, %entry ], [ %.sink28, %for.body ]
%c.0.lcssa = phi i16 [ poison, %entry ], [ %c.0., %for.body ]
%d.0.lcssa = phi i16 [ poison, %entry ], [ %.sink28, %for.body ]
%cmp26 = icmp sgt i16 %c.0.lcssa, %d.0.lcssa
%conv27 = zext i1 %cmp26 to i32
ret i32 %conv27
Expand Down
4 changes: 2 additions & 2 deletions llvm/test/Transforms/LoopVectorize/AArch64/pr36032.ll
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ define void @_Z1dv() local_unnamed_addr #0 {
; CHECK-NEXT: br label [[FOR_COND:%.*]]
; CHECK: for.cond:
; CHECK-NEXT: [[F_0:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ [[ADD5:%.*]], [[FOR_COND_CLEANUP:%.*]] ]
; CHECK-NEXT: [[G_0:%.*]] = phi i32 [ undef, [[ENTRY]] ], [ [[G_1_LCSSA:%.*]], [[FOR_COND_CLEANUP]] ]
; CHECK-NEXT: [[G_0:%.*]] = phi i32 [ poison, [[ENTRY]] ], [ [[G_1_LCSSA:%.*]], [[FOR_COND_CLEANUP]] ]
; CHECK-NEXT: [[CMP12:%.*]] = icmp ult i32 [[G_0]], 4
; CHECK-NEXT: [[CONV:%.*]] = and i32 [[F_0]], 65535
; CHECK-NEXT: br i1 [[CMP12]], label [[FOR_BODY_LR_PH:%.*]], label [[FOR_COND_CLEANUP]]
Expand Down Expand Up @@ -50,7 +50,7 @@ entry:

for.cond: ; preds = %for.cond.cleanup, %entry
%f.0 = phi i32 [ 0, %entry ], [ %add5, %for.cond.cleanup ]
%g.0 = phi i32 [ undef, %entry ], [ %g.1.lcssa, %for.cond.cleanup ]
%g.0 = phi i32 [ poison, %entry ], [ %g.1.lcssa, %for.cond.cleanup ]
%cmp12 = icmp ult i32 %g.0, 4
%conv = and i32 %f.0, 65535
br i1 %cmp12, label %for.body.lr.ph, label %for.cond.cleanup
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -728,8 +728,8 @@ define void @int_float_struct(ptr nocapture readonly %p) #0 {
; CHECK-NEXT: br label [[VECTOR_BODY:%.*]]
; CHECK: vector.body:
; CHECK-NEXT: [[INDEX:%.*]] = phi i64 [ 0, [[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], [[VECTOR_BODY]] ]
; 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]] ]
; 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]] ]
; CHECK-NEXT: [[VEC_PHI:%.*]] = phi <vscale x 4 x float> [ insertelement (<vscale x 4 x float> zeroinitializer, float poison, i32 0), [[VECTOR_PH]] ], [ [[TMP7:%.*]], [[VECTOR_BODY]] ]
; CHECK-NEXT: [[VEC_PHI1:%.*]] = phi <vscale x 4 x i32> [ insertelement (<vscale x 4 x i32> zeroinitializer, i32 poison, i32 0), [[VECTOR_PH]] ], [ [[TMP6:%.*]], [[VECTOR_BODY]] ]
; CHECK-NEXT: [[TMP2:%.*]] = getelementptr inbounds [[STRUCT_INTFLOAT:%.*]], ptr [[P:%.*]], i64 [[INDEX]]
; CHECK-NEXT: [[WIDE_VEC:%.*]] = load <vscale x 8 x i32>, ptr [[TMP2]], align 4
; 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]])
Expand All @@ -755,8 +755,8 @@ for.cond.cleanup: ; preds = %for.body

for.body: ; preds = %for.body, %entry
%indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ]
%SumB.014 = phi float [ undef, %entry ], [ %add3, %for.body ]
%SumA.013 = phi i32 [ undef, %entry ], [ %add, %for.body ]
%SumB.014 = phi float [ poison, %entry ], [ %add3, %for.body ]
%SumA.013 = phi i32 [ poison, %entry ], [ %add, %for.body ]
%a = getelementptr inbounds %struct.IntFloat, ptr %p, i64 %indvars.iv, i32 0
%load1 = load i32, ptr %a, align 4
%add = add nsw i32 %load1, %SumA.013
Expand Down
16 changes: 8 additions & 8 deletions llvm/test/Transforms/LoopVectorize/ARM/arm-ieee-vectorize.ll
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ for.body.preheader: ; preds = %entry

for.body: ; preds = %for.body.preheader, %for.body
%i.07 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ]
%Red.06 = phi i32 [ %add, %for.body ], [ undef, %for.body.preheader ]
%Red.06 = phi i32 [ %add, %for.body ], [ poison, %for.body.preheader ]
%arrayidx = getelementptr inbounds i32, ptr %a, i32 %i.07
%0 = load i32, ptr %arrayidx, align 4
%arrayidx1 = getelementptr inbounds i32, ptr %b, i32 %i.07
Expand All @@ -108,7 +108,7 @@ for.end.loopexit: ; preds = %for.body
br label %for.end

for.end: ; preds = %for.end.loopexit, %entry
%Red.0.lcssa = phi i32 [ undef, %entry ], [ %add.lcssa, %for.end.loopexit ]
%Red.0.lcssa = phi i32 [ poison, %entry ], [ %add.lcssa, %for.end.loopexit ]
ret i32 %Red.0.lcssa
}

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

for.body: ; preds = %for.body.preheader, %for.body
%i.07 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ]
%Red.06 = phi float [ %add, %for.body ], [ undef, %for.body.preheader ]
%Red.06 = phi float [ %add, %for.body ], [ poison, %for.body.preheader ]
%arrayidx = getelementptr inbounds float, ptr %a, i32 %i.07
%0 = load float, ptr %arrayidx, align 4
%arrayidx1 = getelementptr inbounds float, ptr %b, i32 %i.07
Expand All @@ -145,7 +145,7 @@ for.end.loopexit: ; preds = %for.body
br label %for.end

for.end: ; preds = %for.end.loopexit, %entry
%Red.0.lcssa = phi float [ undef, %entry ], [ %add.lcssa, %for.end.loopexit ]
%Red.0.lcssa = phi float [ poison, %entry ], [ %add.lcssa, %for.end.loopexit ]
ret float %Red.0.lcssa
}

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

for.body: ; preds = %for.body.preheader, %for.body
%i.07 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ]
%Red.06 = phi i32 [ %add, %for.body ], [ undef, %for.body.preheader ]
%Red.06 = phi i32 [ %add, %for.body ], [ poison, %for.body.preheader ]
%arrayidx = getelementptr inbounds i32, ptr %a, i32 %i.07
%0 = load i32, ptr %arrayidx, align 4
%arrayidx1 = getelementptr inbounds i32, ptr %b, i32 %i.07
Expand All @@ -268,7 +268,7 @@ for.end.loopexit: ; preds = %for.body
br label %for.end

for.end: ; preds = %for.end.loopexit, %entry
%Red.0.lcssa = phi i32 [ undef, %entry ], [ %add.lcssa, %for.end.loopexit ]
%Red.0.lcssa = phi i32 [ poison, %entry ], [ %add.lcssa, %for.end.loopexit ]
ret i32 %Red.0.lcssa
}

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

for.body: ; preds = %for.body.preheader, %for.body
%i.07 = phi i32 [ %inc, %for.body ], [ 0, %for.body.preheader ]
%Red.06 = phi float [ %add, %for.body ], [ undef, %for.body.preheader ]
%Red.06 = phi float [ %add, %for.body ], [ poison, %for.body.preheader ]
%arrayidx = getelementptr inbounds float, ptr %a, i32 %i.07
%0 = load float, ptr %arrayidx, align 4
%arrayidx1 = getelementptr inbounds float, ptr %b, i32 %i.07
Expand All @@ -301,7 +301,7 @@ for.end.loopexit: ; preds = %for.body
br label %for.end

for.end: ; preds = %for.end.loopexit, %entry
%Red.0.lcssa = phi float [ undef, %entry ], [ %add.lcssa, %for.end.loopexit ]
%Red.0.lcssa = phi float [ poison, %entry ], [ %add.lcssa, %for.end.loopexit ]
ret float %Red.0.lcssa
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ define dso_local i32 @predicated_test(i32 noundef %0, ptr %glob) #0 {
br label %7

7: ; preds = %5, %155
%8 = phi i32 [ %10, %155 ], [ undef, %5 ]
%8 = phi i32 [ %10, %155 ], [ poison, %5 ]
%9 = phi i32 [ %156, %155 ], [ 0, %5 ]
%10 = shl i32 %8, 4
store i32 %10, ptr %6, align 4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ for.cond.cleanup.loopexit: ; preds = %if.end
br label %for.cond.cleanup

for.cond.cleanup: ; preds = %for.cond.cleanup.loopexit, %entry
ret i32 undef
ret i32 poison

for.body: ; preds = %for.body.preheader, %if.end
%i.032 = phi i32 [ %inc, %if.end ], [ %start, %for.body.preheader ]
Expand Down
4 changes: 2 additions & 2 deletions llvm/test/Transforms/LoopVectorize/X86/avx1.ll
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ define i32 @read_mod_write_single_ptr(ptr nocapture %a, i32 %n) nounwind uwtable
br i1 %exitcond, label %._crit_edge, label %.lr.ph

._crit_edge: ; preds = %.lr.ph, %0
ret i32 undef
ret i32 poison
}


Expand All @@ -47,6 +47,6 @@ define i32 @read_mod_i64(ptr nocapture %a, i32 %n) nounwind uwtable ssp {
br i1 %exitcond, label %._crit_edge, label %.lr.ph

._crit_edge: ; preds = %.lr.ph, %0
ret i32 undef
ret i32 poison
}

Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ define void @test_01(i1 %arg) {
%8 = phi i32 [ %.ph2, %.outer ], [ %7, %6 ]
%9 = add i32 %8, 2
%10 = zext i32 %9 to i64
%11 = getelementptr inbounds i32, ptr addrspace(1) undef, i64 %10
%12 = ashr i32 undef, %4
%11 = getelementptr inbounds i32, ptr addrspace(1) poison, i64 %10
%12 = ashr i32 poison, %4
store i32 %12, ptr addrspace(1) %11, align 4
%13 = add i32 %7, 1
%14 = icmp sgt i32 %13, 61
Expand Down Expand Up @@ -96,8 +96,8 @@ define void @test_02(i1 %arg) {
%8 = phi i32 [ %.ph2, %.outer ], [ %7, %6 ]
%9 = add i32 %8, 2
%10 = zext i32 %9 to i64
%11 = getelementptr inbounds i32, ptr addrspace(1) undef, i64 %10
%12 = ashr i32 undef, %4
%11 = getelementptr inbounds i32, ptr addrspace(1) poison, i64 %10
%12 = ashr i32 poison, %4
store i32 %12, ptr addrspace(1) %11, align 4
%13 = add i32 %7, 1
%14 = icmp sgt i32 %13, 610
Expand Down
8 changes: 4 additions & 4 deletions llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ define i32 @conversion_cost1(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwin
; CHECK: ._crit_edge.loopexit:
; CHECK-NEXT: br label [[DOT_CRIT_EDGE]]
; CHECK: ._crit_edge:
; CHECK-NEXT: ret i32 undef
; CHECK-NEXT: ret i32 poison
;
%1 = icmp sgt i32 %n, 3
br i1 %1, label %.lr.ph, label %._crit_edge
Expand All @@ -93,7 +93,7 @@ define i32 @conversion_cost1(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwin
br i1 %exitcond, label %._crit_edge, label %.lr.ph

._crit_edge: ; preds = %.lr.ph, %0
ret i32 undef
ret i32 poison
}

define i32 @conversion_cost2(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwind uwtable ssp {
Expand Down Expand Up @@ -156,7 +156,7 @@ define i32 @conversion_cost2(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwin
; CHECK: ._crit_edge.loopexit:
; CHECK-NEXT: br label [[DOT_CRIT_EDGE]]
; CHECK: ._crit_edge:
; CHECK-NEXT: ret i32 undef
; CHECK-NEXT: ret i32 poison
;
%1 = icmp sgt i32 %n, 9
br i1 %1, label %.lr.ph, label %._crit_edge
Expand All @@ -173,5 +173,5 @@ define i32 @conversion_cost2(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwin
br i1 %exitcond, label %._crit_edge, label %.lr.ph

._crit_edge: ; preds = %.lr.ph, %0
ret i32 undef
ret i32 poison
}
16 changes: 8 additions & 8 deletions llvm/test/Transforms/LoopVectorize/X86/cost-model-assert.ll
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ define void @cff_index_load_offsets(i1 %cond, i8 %x, ptr %p) #0 {
; CHECK-NEXT: [[CONV73:%.*]] = zext i8 [[TMP0]] to i32
; CHECK-NEXT: [[SHL74:%.*]] = shl nuw nsw i32 [[CONV73]], 16
; CHECK-NEXT: [[OR75:%.*]] = or i32 [[SHL74]], [[SHL71]]
; CHECK-NEXT: [[TMP1:%.*]] = load i8, ptr undef, align 1, !tbaa [[CHAR_TBAA1]]
; CHECK-NEXT: [[SHL78:%.*]] = shl nuw nsw i32 undef, 8
; CHECK-NEXT: [[TMP1:%.*]] = load i8, ptr poison, align 1, !tbaa [[CHAR_TBAA1]]
; CHECK-NEXT: [[SHL78:%.*]] = shl nuw nsw i32 poison, 8
; CHECK-NEXT: [[OR79:%.*]] = or i32 [[OR75]], [[SHL78]]
; CHECK-NEXT: [[CONV81:%.*]] = zext i8 [[TMP1]] to i32
; CHECK-NEXT: [[OR83:%.*]] = or i32 [[OR79]], [[CONV81]]
; CHECK-NEXT: store i32 [[OR83]], ptr undef, align 4, !tbaa [[LONG_TBAA4:![0-9]+]]
; CHECK-NEXT: store i32 [[OR83]], ptr poison, align 4, !tbaa [[LONG_TBAA4:![0-9]+]]
; CHECK-NEXT: [[ADD_PTR86]] = getelementptr inbounds i8, ptr [[P_359]], i64 4
; CHECK-NEXT: [[CMP66:%.*]] = icmp ult ptr [[ADD_PTR86]], undef
; CHECK-NEXT: [[CMP66:%.*]] = icmp ult ptr [[ADD_PTR86]], poison
; CHECK-NEXT: br i1 [[CMP66]], label %[[FOR_BODY68]], label %[[SW_EPILOG:.*]]
; CHECK: [[SW_EPILOG]]:
; CHECK-NEXT: unreachable
Expand All @@ -54,14 +54,14 @@ for.body68: ; preds = %for.body68, %if.the
%conv73 = zext i8 %0 to i32
%shl74 = shl nuw nsw i32 %conv73, 16
%or75 = or i32 %shl74, %shl71
%1 = load i8, ptr undef, align 1, !tbaa !1
%shl78 = shl nuw nsw i32 undef, 8
%1 = load i8, ptr poison, align 1, !tbaa !1
%shl78 = shl nuw nsw i32 poison, 8
%or79 = or i32 %or75, %shl78
%conv81 = zext i8 %1 to i32
%or83 = or i32 %or79, %conv81
store i32 %or83, ptr undef, align 4, !tbaa !4
store i32 %or83, ptr poison, align 4, !tbaa !4
%add.ptr86 = getelementptr inbounds i8, ptr %p.359, i64 4
%cmp66 = icmp ult ptr %add.ptr86, undef
%cmp66 = icmp ult ptr %add.ptr86, poison
br i1 %cmp66, label %for.body68, label %sw.epilog

sw.epilog: ; preds = %for.body68
Expand Down
4 changes: 2 additions & 2 deletions llvm/test/Transforms/LoopVectorize/X86/fp80-widest-type.ll
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ define x86_fp80 @test() {
; CHECK-NEXT: br label [[FOR_BODY3_I_3:%.*]]
; CHECK: for.body3.i.3:
; CHECK-NEXT: [[N_ADDR_112_I_3:%.*]] = phi i64 [ [[DEC_I_3:%.*]], [[FOR_BODY3_I_3]] ], [ 24, [[FOO_EXIT:%.*]] ]
; CHECK-NEXT: [[X_ADDR_111_I_3:%.*]] = phi x86_fp80 [ [[MUL_I_3:%.*]], [[FOR_BODY3_I_3]] ], [ undef, [[FOO_EXIT]] ]
; CHECK-NEXT: [[X_ADDR_111_I_3:%.*]] = phi x86_fp80 [ [[MUL_I_3:%.*]], [[FOR_BODY3_I_3]] ], [ poison, [[FOO_EXIT]] ]
; CHECK-NEXT: [[MUL_I_3]] = fmul x86_fp80 [[X_ADDR_111_I_3]], 0xK40008000000000000000
; CHECK-NEXT: [[DEC_I_3]] = add nsw i64 [[N_ADDR_112_I_3]], -1
; CHECK-NEXT: [[CMP2_I_3:%.*]] = icmp sgt i64 [[N_ADDR_112_I_3]], 1
Expand All @@ -28,7 +28,7 @@ foo.exit:

for.body3.i.3: ; preds = %for.body3.i.3, %foo.exit
%n.addr.112.i.3 = phi i64 [ %dec.i.3, %for.body3.i.3 ], [ 24, %foo.exit ]
%x.addr.111.i.3 = phi x86_fp80 [ %mul.i.3, %for.body3.i.3 ], [ undef, %foo.exit ]
%x.addr.111.i.3 = phi x86_fp80 [ %mul.i.3, %for.body3.i.3 ], [ poison, %foo.exit ]
%mul.i.3 = fmul x86_fp80 %x.addr.111.i.3, 0xK40008000000000000000
%dec.i.3 = add nsw i64 %n.addr.112.i.3, -1
%cmp2.i.3 = icmp sgt i64 %n.addr.112.i.3, 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ entry:
for.body:
%iv = phi i64 [ 1, %entry ], [ %iv.next, %for.body ]
%iv.next = add nsw i64 %iv, 1
%arrayidx = getelementptr inbounds [3 x i32], ptr undef, i64 0, i64 %iv.next
%arrayidx = getelementptr inbounds [3 x i32], ptr poison, i64 0, i64 %iv.next
%G2 = getelementptr i32, ptr %arrayidx, i64 %iv.next
%G9 = getelementptr i32, ptr %G2, i32 -2147483647
store i32 0, ptr %G2
Expand Down Expand Up @@ -87,7 +87,7 @@ entry:
for.body:
%iv = phi i64 [ 1, %entry ], [ %iv.next, %for.body ]
%iv.next = add nsw i64 %iv, 1
%arrayidx = getelementptr inbounds [3 x i32], ptr undef, i64 0, i64 %iv.next
%arrayidx = getelementptr inbounds [3 x i32], ptr poison, i64 0, i64 %iv.next
%G2 = getelementptr i32, ptr %arrayidx, i64 %iv.next
%G9 = getelementptr i32, ptr %G2, i32 -2147483648
store i32 0, ptr %G2
Expand Down
8 changes: 4 additions & 4 deletions llvm/test/Transforms/LoopVectorize/X86/pr39160.ll
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ bb:
br label %bb2

bb2: ; preds = %bb2, %bb
%tmp4 = icmp slt i32 undef, 0
%tmp4 = icmp slt i32 poison, 0
br i1 %tmp4, label %bb2, label %bb5

bb5: ; preds = %bb2
Expand All @@ -23,8 +23,8 @@ bb18: ; preds = %bb33
ret void

bb19: ; preds = %bb36, %bb5
%tmp21 = phi i64 [ undef, %bb36 ], [ 2, %bb5 ]
%tmp22 = phi i32 [ %tmp65, %bb36 ], [ undef, %bb5 ]
%tmp21 = phi i64 [ poison, %bb36 ], [ 2, %bb5 ]
%tmp22 = phi i32 [ %tmp65, %bb36 ], [ poison, %bb5 ]
br label %bb50

bb33: ; preds = %bb62
Expand All @@ -48,7 +48,7 @@ bb50: ; preds = %bb50, %bb19
%tmp54 = add i32 %tmp52, 12
%tmp55 = add i32 %tmp52, 13
%tmp56 = add nuw nsw i64 %tmp53, 1
%tmp58 = icmp ult i64 %tmp53, undef
%tmp58 = icmp ult i64 %tmp53, poison
br i1 %tmp58, label %bb50, label %bb46

bb59: ; preds = %bb46
Expand Down
8 changes: 4 additions & 4 deletions llvm/test/Transforms/LoopVectorize/X86/rauw-bug.ll
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ while.cond63.preheader.while.end76_crit_edge:
ret void

while.body:
%d2_fx.015 = phi double [ %sub52, %while.body ], [ undef, %entry ]
%d2_fy.014 = phi double [ %sub58, %while.body ], [ undef, %entry ]
%d3_fy.013 = phi double [ %div56, %while.body ], [ undef, %entry ]
%d3_fx.012 = phi double [ %div50, %while.body ], [ undef, %entry ]
%d2_fx.015 = phi double [ %sub52, %while.body ], [ poison, %entry ]
%d2_fy.014 = phi double [ %sub58, %while.body ], [ poison, %entry ]
%d3_fy.013 = phi double [ %div56, %while.body ], [ poison, %entry ]
%d3_fx.012 = phi double [ %div50, %while.body ], [ poison, %entry ]
%div50 = fmul double %d3_fx.012, 1.250000e-01
%sub52 = fsub double 0.000000e+00, %div50
%div56 = fmul double %d3_fy.013, 1.250000e-01
Expand Down
4 changes: 2 additions & 2 deletions llvm/test/Transforms/LoopVectorize/X86/runtime-limit.ll
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ for.body: ; preds = %for.body, %entry
br i1 %exitcond, label %for.end, label %for.body

for.end: ; preds = %for.body
ret i32 undef
ret i32 poison
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

better to useret void instead

}

; We are vectorizing with 12 runtime checks.
Expand Down Expand Up @@ -85,5 +85,5 @@ for.body: ; preds = %for.body, %entry
br i1 %exitcond, label %for.end, label %for.body

for.end: ; preds = %for.body
ret i32 undef
ret i32 poison
}
2 changes: 1 addition & 1 deletion llvm/test/Transforms/LoopVectorize/X86/unroll-pm.ll
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,5 @@ define i32 @bar(ptr nocapture %A, i32 %n) nounwind uwtable ssp {
br i1 %exitcond, label %._crit_edge, label %.lr.ph

._crit_edge: ; preds = %.lr.ph, %0
ret i32 undef
ret i32 poison
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ for.cond.cleanup:

for.body:
%i.09 = phi i16 [ 0, %entry ], [ %add3, %for.body ]
%res.08 = phi x86_fp80 [ undef, %entry ], [ %3, %for.body ]
%res.08 = phi x86_fp80 [ poison, %entry ], [ %3, %for.body ]
%arrayidx = getelementptr inbounds x86_fp80, ptr %a, i16 %i.09
%0 = load x86_fp80, ptr %arrayidx, align 1
%add = or i16 %i.09, 1
Expand Down
Loading
Loading