Skip to content

Commit 3e8db13

Browse files
committed
[SLP][NFC]Replace undefs by zeroinitializer
1 parent e1d1bb9 commit 3e8db13

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

llvm/test/Transforms/SLPVectorizer/X86/crash_7zip.ll

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,18 @@ define fastcc void @LzmaDec_DecodeReal2(ptr %p, i1 %arg) {
1313
; CHECK-NEXT: [[RANGE20_I:%.*]] = getelementptr inbounds [[STRUCT_CLZMADEC_1_28_55_82_103_124_145_166_181_196_229_259_334:%.*]], ptr [[P:%.*]], i64 0, i32 4
1414
; CHECK-NEXT: br label [[DO_BODY66_I:%.*]]
1515
; CHECK: do.body66.i:
16-
; CHECK-NEXT: [[TMP0:%.*]] = phi <2 x i32> [ [[TMP3:%.*]], [[DO_COND_I:%.*]] ], [ undef, [[ENTRY:%.*]] ]
17-
; CHECK-NEXT: [[TMP1:%.*]] = select <2 x i1> undef, <2 x i32> undef, <2 x i32> [[TMP0]]
18-
; CHECK-NEXT: br i1 %arg, label [[DO_COND_I]], label [[IF_ELSE_I:%.*]]
16+
; CHECK-NEXT: [[TMP0:%.*]] = phi <2 x i32> [ [[TMP3:%.*]], [[DO_COND_I:%.*]] ], [ zeroinitializer, [[ENTRY:%.*]] ]
17+
; CHECK-NEXT: [[TMP1:%.*]] = select <2 x i1> zeroinitializer, <2 x i32> zeroinitializer, <2 x i32> [[TMP0]]
18+
; CHECK-NEXT: [[TMP5:%.*]] = shufflevector <2 x i32> [[TMP1]], <2 x i32> <i32 0, i32 poison>, <2 x i32> <i32 2, i32 1>
19+
; CHECK-NEXT: br i1 [[ARG:%.*]], label [[DO_COND_I]], label [[IF_ELSE_I:%.*]]
1920
; CHECK: if.else.i:
20-
; CHECK-NEXT: [[TMP2:%.*]] = sub <2 x i32> [[TMP1]], undef
21+
; CHECK-NEXT: [[TMP2:%.*]] = sub <2 x i32> [[TMP1]], zeroinitializer
2122
; CHECK-NEXT: br label [[DO_COND_I]]
2223
; CHECK: do.cond.i:
23-
; CHECK-NEXT: [[TMP3]] = phi <2 x i32> [ [[TMP2]], [[IF_ELSE_I]] ], [ [[TMP1]], [[DO_BODY66_I]] ]
24-
; CHECK-NEXT: br i1 %arg, label [[DO_BODY66_I]], label [[DO_END1006_I:%.*]]
24+
; CHECK-NEXT: [[TMP3]] = phi <2 x i32> [ [[TMP2]], [[IF_ELSE_I]] ], [ [[TMP5]], [[DO_BODY66_I]] ]
25+
; CHECK-NEXT: br i1 [[ARG]], label [[DO_BODY66_I]], label [[DO_END1006_I:%.*]]
2526
; CHECK: do.end1006.i:
26-
; CHECK-NEXT: [[TMP4:%.*]] = select <2 x i1> undef, <2 x i32> undef, <2 x i32> [[TMP3]]
27+
; CHECK-NEXT: [[TMP4:%.*]] = select <2 x i1> zeroinitializer, <2 x i32> zeroinitializer, <2 x i32> [[TMP3]]
2728
; CHECK-NEXT: store <2 x i32> [[TMP4]], ptr [[RANGE20_I]], align 4
2829
; CHECK-NEXT: ret void
2930
;
@@ -33,25 +34,25 @@ entry:
3334
br label %do.body66.i
3435

3536
do.body66.i: ; preds = %do.cond.i, %entry
36-
%range.2.i = phi i32 [ %range.4.i, %do.cond.i ], [ undef, %entry ]
37-
%code.2.i = phi i32 [ %code.4.i, %do.cond.i ], [ undef, %entry ]
38-
%.range.2.i = select i1 undef, i32 undef, i32 %range.2.i
39-
%.code.2.i = select i1 undef, i32 undef, i32 %code.2.i
37+
%range.2.i = phi i32 [ %range.4.i, %do.cond.i ], [ zeroinitializer, %entry ]
38+
%code.2.i = phi i32 [ %code.4.i, %do.cond.i ], [ zeroinitializer, %entry ]
39+
%.range.2.i = select i1 zeroinitializer, i32 zeroinitializer, i32 %range.2.i
40+
%.code.2.i = select i1 zeroinitializer, i32 zeroinitializer, i32 %code.2.i
4041
br i1 %arg, label %do.cond.i, label %if.else.i
4142

4243
if.else.i: ; preds = %do.body66.i
43-
%sub91.i = sub i32 %.range.2.i, undef
44-
%sub92.i = sub i32 %.code.2.i, undef
44+
%sub91.i = sub i32 %.range.2.i, zeroinitializer
45+
%sub92.i = sub i32 %.code.2.i, zeroinitializer
4546
br label %do.cond.i
4647

4748
do.cond.i: ; preds = %if.else.i, %do.body66.i
48-
%range.4.i = phi i32 [ %sub91.i, %if.else.i ], [ undef, %do.body66.i ]
49+
%range.4.i = phi i32 [ %sub91.i, %if.else.i ], [ zeroinitializer, %do.body66.i ]
4950
%code.4.i = phi i32 [ %sub92.i, %if.else.i ], [ %.code.2.i, %do.body66.i ]
5051
br i1 %arg, label %do.body66.i, label %do.end1006.i
5152

5253
do.end1006.i: ; preds = %do.cond.i
53-
%.range.4.i = select i1 undef, i32 undef, i32 %range.4.i
54-
%.code.4.i = select i1 undef, i32 undef, i32 %code.4.i
54+
%.range.4.i = select i1 zeroinitializer, i32 zeroinitializer, i32 %range.4.i
55+
%.code.4.i = select i1 zeroinitializer, i32 zeroinitializer, i32 %code.4.i
5556
store i32 %.range.4.i, ptr %range20.i, align 4
5657
store i32 %.code.4.i, ptr %code21.i, align 4
5758
ret void

0 commit comments

Comments
 (0)