Skip to content

Commit a83a4e8

Browse files
committed
Remove br i1 undef in IndVarSimplify directory
1 parent 2464846 commit a83a4e8

35 files changed

+256
-237
lines changed

llvm/test/Transforms/IndVarSimplify/2003-12-10-RemoveInstrCrash.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
; RUN: opt < %s -passes=indvars -disable-output
22

3-
define void @test() {
3+
define void @test(i1 %arg) {
44
entry:
55
%inc.2 = add i32 1, 1 ; <i32> [#uses=1]
66
br i1 false, label %no_exit, label %loopexit
@@ -10,7 +10,7 @@ no_exit: ; preds = %no_exit, %entry
1010
%k.0.pn = phi i32 [ %inc.4, %no_exit ], [ 1, %entry ] ; <i32> [#uses=1]
1111
%inc.3 = add i32 %j.0.pn, 1 ; <i32> [#uses=1]
1212
%inc.4 = add i32 %k.0.pn, 1 ; <i32> [#uses=1]
13-
br i1 undef, label %no_exit, label %loopexit
13+
br i1 %arg, label %no_exit, label %loopexit
1414

1515
loopexit: ; preds = %no_exit, %entry
1616
ret void

llvm/test/Transforms/IndVarSimplify/2003-12-15-Crash.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
; RUN: opt < %s -passes=indvars -disable-output
2-
define void @_ZN17CoinFactorization7cleanupEv() {
2+
define void @_ZN17CoinFactorization7cleanupEv(i1 %arg) {
33
entry:
44
br i1 false, label %loopexit.14, label %cond_continue.3
55

@@ -8,15 +8,15 @@ cond_continue.3: ; preds = %entry
88

99
loopexit.14: ; preds = %entry
1010
%tmp.738 = sub i32 0, 0 ; <i32> [#uses=1]
11-
br i1 undef, label %no_exit.15.preheader, label %loopexit.15
11+
br i1 %arg, label %no_exit.15.preheader, label %loopexit.15
1212

1313
no_exit.15.preheader: ; preds = %loopexit.14
1414
br label %no_exit.15
1515

1616
no_exit.15: ; preds = %no_exit.15, %no_exit.15.preheader
1717
%highC.0 = phi i32 [ %tmp.738, %no_exit.15.preheader ], [ %dec.0, %no_exit.15 ] ; <i32> [#uses=1]
1818
%dec.0 = add i32 %highC.0, -1 ; <i32> [#uses=1]
19-
br i1 undef, label %no_exit.15, label %loopexit.15
19+
br i1 %arg, label %no_exit.15, label %loopexit.15
2020

2121
loopexit.15: ; preds = %no_exit.15, %loopexit.14
2222
ret void

llvm/test/Transforms/IndVarSimplify/2005-11-18-Crash.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
@fixtab = external global [29 x [29 x [2 x i32]]] ; <ptr> [#uses=1]
44

5-
define void @init_optabs() {
5+
define void @init_optabs(i1 %arg) {
66
entry:
77
br label %no_exit.0
88

99
no_exit.0: ; preds = %no_exit.0, %entry
1010
%p.0.0 = phi ptr [ @fixtab, %entry ], [ %inc.0, %no_exit.0 ] ; <ptr> [#uses=1]
1111
%inc.0 = getelementptr i32, ptr %p.0.0, i32 1 ; <ptr> [#uses=1]
12-
br i1 undef, label %no_exit.0, label %no_exit.1
12+
br i1 %arg, label %no_exit.0, label %no_exit.1
1313

1414
no_exit.1: ; preds = %no_exit.0
1515
ret void

llvm/test/Transforms/IndVarSimplify/2006-12-10-BitCast.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ target triple = "i686-apple-darwin8"
44
%struct.vorbis_dsp_state = type { i32, ptr, ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, ptr }
55
%struct.vorbis_info = type { i32, i32, i32, i32, i32, i32, i32, ptr }
66

7-
define void @_ve_envelope_search() {
7+
define void @_ve_envelope_search(i1 %arg) {
88
entry:
99
br i1 false, label %cond_true27, label %bb137
1010

@@ -20,7 +20,7 @@ cond_next182.i: ; preds = %cond_next182.i, %cond_true52
2020
%tmp194.i53 = bitcast i32 %decay.i.0 to float ; <float> [#uses=1]
2121
%tmp195.i = fsub float %tmp194.i53, 8.000000e+00 ; <float> [#uses=1]
2222
%tmp195.i.upgrd.1 = bitcast float %tmp195.i to i32 ; <i32> [#uses=1]
23-
br i1 undef, label %cond_next182.i, label %bb418.i.preheader
23+
br i1 %arg, label %cond_next182.i, label %bb418.i.preheader
2424

2525
bb418.i.preheader: ; preds = %cond_next182.i
2626
ret void

llvm/test/Transforms/IndVarSimplify/2009-05-24-useafterfree.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
44
target triple = "i386-pc-linux-gnu"
55

6-
define void @0(ptr, ptr, i32, i32) nounwind {
6+
define void @0(ptr, ptr, i32, i32, i1 %arg) nounwind {
77
br i1 false, label %bb.nph1.preheader, label %.outer._crit_edge
88

99
bb.nph1.preheader: ; preds = %4
@@ -12,7 +12,7 @@ bb.nph1.preheader: ; preds = %4
1212
br label %bb.nph1
1313

1414
bb.nph1: ; preds = %.outer, %bb.nph1.preheader
15-
br i1 undef, label %bb.nph3.preheader, label %.outer
15+
br i1 %arg, label %bb.nph3.preheader, label %.outer
1616

1717
bb.nph3.preheader: ; preds = %bb.nph1
1818
br label %bb.nph3
@@ -31,7 +31,7 @@ bb.nph3: ; preds = %bb.nph3, %bb.nph3.preheader
3131
br label %.outer
3232

3333
.outer: ; preds = %.outer.loopexit, %bb.nph1
34-
br i1 undef, label %bb.nph1, label %.outer._crit_edge.loopexit
34+
br i1 %arg, label %bb.nph1, label %.outer._crit_edge.loopexit
3535

3636
.outer._crit_edge.loopexit: ; preds = %.outer
3737
br label %.outer._crit_edge

llvm/test/Transforms/IndVarSimplify/2011-09-10-widen-nsw.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
77

88
declare void @use(i64 %x)
99

10-
define void @test() nounwind {
10+
define void @test(i1 %arg) nounwind {
1111
entry:
12-
br i1 undef, label %for.body11, label %for.end285
12+
br i1 %arg, label %for.body11, label %for.end285
1313

1414
for.body11: ; preds = %entry
1515
%shl = shl i32 1, 1
1616
%shl132 = shl i32 %shl, 1
1717
br label %for.body153
1818

1919
for.body153: ; preds = %for.body153, %for.body11
20-
br i1 undef, label %for.body170, label %for.body153
20+
br i1 %arg, label %for.body170, label %for.body153
2121

2222
; CHECK: add nuw nsw i64 %indvars.iv, 1
2323
; CHECK: sub nsw i64 %indvars.iv, 2

llvm/test/Transforms/IndVarSimplify/2011-09-19-vectoriv.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
; RUN: opt < %s -passes=indvars -S | FileCheck %s
22
; PR10946: Vector IVs are not SCEVable.
33
; CHECK-NOT: phi
4-
define void @test() nounwind {
4+
define void @test(i1 %arg) nounwind {
55
allocas:
6-
br i1 undef, label %cif_done, label %for_loop398
6+
br i1 %arg, label %cif_done, label %for_loop398
77

88
cif_done: ; preds = %allocas
99
ret void

llvm/test/Transforms/IndVarSimplify/2011-10-27-lftrnull.ll

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@
55
target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32"
66
target triple = "thumbv7-apple-darwin"
77

8-
define void @test() nounwind {
8+
define void @test(i1 %arg) nounwind {
99
; CHECK-LABEL: @test(
1010
; CHECK-NEXT: entry:
1111
; CHECK-NEXT: br label [[WHILE_COND:%.*]]
1212
; CHECK: while.cond.loopexit:
1313
; CHECK-NEXT: br label [[WHILE_COND_BACKEDGE:%.*]]
1414
; CHECK: while.cond:
15-
; CHECK-NEXT: br i1 true, label [[WHILE_END:%.*]], label [[WHILE_BODY:%.*]]
15+
; CHECK-NEXT: br i1 [[ARG:%.*]], label [[WHILE_END:%.*]], label [[WHILE_BODY:%.*]]
1616
; CHECK: while.body:
17-
; CHECK-NEXT: br i1 undef, label [[IF_THEN165:%.*]], label [[WHILE_COND_BACKEDGE]]
17+
; CHECK-NEXT: br i1 [[ARG]], label [[IF_THEN165:%.*]], label [[WHILE_COND_BACKEDGE]]
1818
; CHECK: while.cond.backedge:
1919
; CHECK-NEXT: br label [[WHILE_COND]]
2020
; CHECK: if.then165:
21-
; CHECK-NEXT: br i1 undef, label [[WHILE_COND_BACKEDGE]], label [[FOR_BODY_LR_PH_I81:%.*]]
21+
; CHECK-NEXT: br i1 [[ARG]], label [[WHILE_COND_BACKEDGE]], label [[FOR_BODY_LR_PH_I81:%.*]]
2222
; CHECK: for.body.lr.ph.i81:
2323
; CHECK-NEXT: br label [[FOR_BODY_I86:%.*]]
2424
; CHECK: for.body.i86:
@@ -28,17 +28,20 @@ define void @test() nounwind {
2828
; CHECK-NEXT: br label [[FOR_BODY21_I:%.*]]
2929
; CHECK: for.body21.i:
3030
; CHECK-NEXT: [[DESTYPIXELPTR_010_I:%.*]] = phi ptr [ null, [[FOR_BODY21_LR_PH_I]] ], [ [[INCDEC_PTR_I:%.*]], [[IF_END_I126:%.*]] ]
31-
; CHECK-NEXT: br i1 undef, label [[IF_END_I126]], label [[IF_ELSE_I124:%.*]]
31+
; CHECK-NEXT: [[X_09_I:%.*]] = phi i32 [ 0, [[FOR_BODY21_LR_PH_I]] ], [ [[INC_I125:%.*]], [[IF_END_I126]] ]
32+
; CHECK-NEXT: br i1 [[ARG]], label [[IF_END_I126]], label [[IF_ELSE_I124:%.*]]
3233
; CHECK: if.else.i124:
3334
; CHECK-NEXT: store i8 undef, ptr [[DESTYPIXELPTR_010_I]], align 1
3435
; CHECK-NEXT: br label [[IF_END_I126]]
3536
; CHECK: if.end.i126:
3637
; CHECK-NEXT: [[INCDEC_PTR_I]] = getelementptr inbounds i8, ptr [[DESTYPIXELPTR_010_I]], i32 1
37-
; CHECK-NEXT: br i1 true, label [[FOR_BODY21_I]], label [[FOR_END_I129_LOOPEXIT:%.*]]
38+
; CHECK-NEXT: [[INC_I125]] = add nuw i32 [[X_09_I]], 1
39+
; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i32 [[INC_I125]], undef
40+
; CHECK-NEXT: br i1 [[EXITCOND]], label [[FOR_BODY21_I]], label [[FOR_END_I129_LOOPEXIT:%.*]]
3841
; CHECK: for.end.i129.loopexit:
3942
; CHECK-NEXT: br label [[FOR_END_I129]]
4043
; CHECK: for.end.i129:
41-
; CHECK-NEXT: br i1 false, label [[FOR_BODY_I86]], label [[WHILE_COND_LOOPEXIT:%.*]]
44+
; CHECK-NEXT: br i1 [[ARG]], label [[FOR_BODY_I86]], label [[WHILE_COND_LOOPEXIT:%.*]]
4245
; CHECK: while.end:
4346
; CHECK-NEXT: br label [[BAIL:%.*]]
4447
; CHECK: bail:
@@ -50,13 +53,13 @@ entry:
5053
br label %while.cond
5154

5255
while.cond:
53-
br i1 undef, label %while.end, label %while.body
56+
br i1 %arg, label %while.end, label %while.body
5457

5558
while.body: ; preds = %while.cond
56-
br i1 undef, label %if.then165, label %while.cond
59+
br i1 %arg, label %if.then165, label %while.cond
5760

5861
if.then165: ; preds = %while.body
59-
br i1 undef, label %while.cond, label %for.body.lr.ph.i81
62+
br i1 %arg, label %while.cond, label %for.body.lr.ph.i81
6063

6164
for.body.lr.ph.i81: ; preds = %if.then165
6265
br label %for.body.i86
@@ -71,7 +74,7 @@ for.body21.lr.ph.i: ; preds = %for.body.i86
7174
for.body21.i:
7275
%destYPixelPtr.010.i = phi ptr [ null, %for.body21.lr.ph.i ], [ %incdec.ptr.i, %if.end.i126 ]
7376
%x.09.i = phi i32 [ 0, %for.body21.lr.ph.i ], [ %inc.i125, %if.end.i126 ]
74-
br i1 undef, label %if.end.i126, label %if.else.i124
77+
br i1 %arg, label %if.end.i126, label %if.else.i124
7578

7679
if.else.i124: ; preds = %for.body21.i
7780
store i8 undef, ptr %destYPixelPtr.010.i, align 1
@@ -84,7 +87,7 @@ if.end.i126: ; preds = %if.else.i124, %for.
8487
br i1 %cmp19.i, label %for.body21.i, label %for.end.i129
8588

8689
for.end.i129: ; preds = %if.end.i126, %for.body.i86
87-
br i1 undef, label %for.body.i86, label %while.cond
90+
br i1 %arg, label %for.body.i86, label %while.cond
8891

8992
while.end: ; preds = %while.cond
9093
br label %bail

llvm/test/Transforms/IndVarSimplify/2014-06-21-congruent-constant.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88

99
@c = external global ptr, align 8
1010

11-
define void @test1() {
11+
define void @test1(i1 %arg) {
1212
entry:
13-
br i1 undef, label %for.end12, label %for.cond.preheader
13+
br i1 %arg, label %for.end12, label %for.cond.preheader
1414

1515
for.cond.preheader: ; preds = %entry
1616
%0 = load ptr, ptr @c, align 8

llvm/test/Transforms/IndVarSimplify/2020-12-15-trunc-bug-expensive-range-inference.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128-ni:1-p2:32:8:8:32-ni:2"
44
target triple = "x86_64-unknown-linux-gnu"
55

6-
define void @test() {
6+
define void @test(i1 %arg) {
77
; CHECK-LABEL: test
88

99
bb:
@@ -31,15 +31,15 @@ bb8: ; preds = %bb5, %bb3
3131

3232
bb10: ; preds = %bb13
3333
%tmp11 = phi i32 [ %tmp15, %bb13 ]
34-
br i1 undef, label %bb12, label %bb1
34+
br i1 %arg, label %bb12, label %bb1
3535

3636
bb12: ; preds = %bb10
3737
ret void
3838

3939
bb13: ; preds = %bb13, %bb8
4040
%tmp14 = phi i32 [ %tmp, %bb8 ], [ %tmp15, %bb13 ]
4141
%tmp15 = add i32 %tmp14, undef
42-
br i1 undef, label %bb10, label %bb13
42+
br i1 %arg, label %bb10, label %bb13
4343

4444
bb16: ; preds = %bb16, %bb4
4545
%tmp17 = phi i32 [ %tmp27, %bb16 ], [ %tmp2, %bb4 ]

0 commit comments

Comments
 (0)