Skip to content

Commit 58ca707

Browse files
authored
[llvm] Remove br i1 undef from some regression tests [NFC] (#115688)
This PR aims to remove undefined behavior from tests.
1 parent ad26835 commit 58ca707

13 files changed

+89
-82
lines changed

llvm/test/Transforms/ADCE/blocks-with-dead-term-nondeterministic.ll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,27 @@ target triple = "x86_64-apple-macosx10.10.0"
55

66
; CHECK: uselistorder label %bb16, { 1, 0 }
77
; Function Attrs: noinline nounwind ssp uwtable
8-
define void @ham() local_unnamed_addr #0 {
8+
define void @ham(i1 %arg) local_unnamed_addr #0 {
99
bb:
1010
br i1 false, label %bb1, label %bb22
1111

1212
bb1: ; preds = %bb
13-
br i1 undef, label %bb2, label %bb20
13+
br i1 %arg, label %bb2, label %bb20
1414

1515
bb2: ; preds = %bb1
1616
br label %bb5
1717

1818
bb5: ; preds = %bb16, %bb2
19-
br i1 undef, label %bb6, label %bb17
19+
br i1 %arg, label %bb6, label %bb17
2020

2121
bb6: ; preds = %bb5
22-
br i1 undef, label %bb7, label %bb16
22+
br i1 %arg, label %bb7, label %bb16
2323

2424
bb7: ; preds = %bb6
25-
br i1 undef, label %bb9, label %bb8
25+
br i1 %arg, label %bb9, label %bb8
2626

2727
bb8: ; preds = %bb7
28-
br i1 undef, label %bb9, label %bb10
28+
br i1 %arg, label %bb9, label %bb10
2929

3030
bb9: ; preds = %bb8, %bb7
3131
br label %bb13

llvm/test/Transforms/ADCE/broken-loop-info.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
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"
66
target triple = "x86_64-unknown-linux-gnu"
77

8-
define void @test() {
8+
define void @test(i1 %arg) {
99
; CHECK-LABEL: @test(
1010
; CHECK-NEXT: bb:
1111
; CHECK-NEXT: br label [[BB2:%.*]]
@@ -16,7 +16,7 @@ define void @test() {
1616
; CHECK: bb3:
1717
; CHECK-NEXT: unreachable
1818
; CHECK: bb4:
19-
; CHECK-NEXT: br i1 true, label [[BB1:%.*]], label [[BB2]]
19+
; CHECK-NEXT: br i1 [[ARG:%.*]], label [[BB1:%.*]], label [[BB2]]
2020
;
2121

2222
bb:
@@ -26,11 +26,11 @@ bb1: ; preds = %bb4
2626
ret void
2727

2828
bb2: ; preds = %bb4, %bb
29-
br i1 undef, label %bb4, label %bb3
29+
br i1 %arg, label %bb4, label %bb3
3030

3131
bb3: ; preds = %bb2
3232
br label %bb4
3333

3434
bb4: ; preds = %bb3, %bb2
35-
br i1 undef, label %bb1, label %bb2
35+
br i1 %arg, label %bb1, label %bb2
3636
}

llvm/test/Transforms/AlignmentFromAssumptions/amdgpu-crash.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ target datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:3
77
%"unwind::libunwind::_Unwind_Exception.9.51.75.99.123.147.163.171.179.195.203.211.227.385.396" = type { [0 x i64], i64, [0 x i64], ptr, [0 x i64], [6 x i64], [0 x i64] }
88
%"unwind::libunwind::_Unwind_Context.10.52.76.100.124.148.164.172.180.196.204.212.228.386.397" = type { [0 x i8] }
99

10-
define void @"_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h7b1d039c7ff5e1feE"() {
10+
define void @"_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h7b1d039c7ff5e1feE"(i1 %arg) {
1111
start:
1212
%_15.i.i = alloca %"core::str::CharIndices.29.66.90.114.138.149.165.173.181.197.205.213.229.387.398", align 8, addrspace(5)
1313
br label %bb12.i.i
@@ -18,7 +18,7 @@ bb12.i.i: ; preds = %start
1818
%maskedptr54.i.i = and i64 %ptrint53.i.i, 7
1919
%maskcond55.i.i = icmp eq i64 %maskedptr54.i.i, 0
2020
call void @llvm.assume(i1 %maskcond55.i.i)
21-
br i1 undef, label %bb20.i.i, label %bb3.i.i.i.i.i.preheader.i.i
21+
br i1 %arg, label %bb20.i.i, label %bb3.i.i.i.i.i.preheader.i.i
2222

2323
bb3.i.i.i.i.i.preheader.i.i: ; preds = %bb12.i.i
2424
store i64 0, ptr %0, align 8

llvm/test/Transforms/AlignmentFromAssumptions/start-unk.ll

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,45 +12,45 @@ declare void @llvm.assume(i1) #0
1212
declare i32 @llvm.bswap.i32(i32) #1
1313

1414
; Function Attrs: nounwind uwtable
15-
define void @test1() unnamed_addr #2 align 2 {
15+
define void @test1(i1 %arg) unnamed_addr #2 align 2 {
1616

1717
; CHECK-LABEL: @test1
1818

1919
entry:
20-
br i1 undef, label %if.then, label %if.end
20+
br i1 %arg, label %if.then, label %if.end
2121

2222
if.then: ; preds = %entry
2323
unreachable
2424

2525
if.end: ; preds = %entry
26-
br i1 undef, label %return, label %if.end8
26+
br i1 %arg, label %return, label %if.end8
2727

2828
if.end8: ; preds = %if.end
29-
br i1 undef, label %if.then13, label %if.end14
29+
br i1 %arg, label %if.then13, label %if.end14
3030

3131
if.then13: ; preds = %if.end8
3232
unreachable
3333

3434
if.end14: ; preds = %if.end8
35-
br i1 undef, label %cond.false.i129, label %cond.end.i136
35+
br i1 %arg, label %cond.false.i129, label %cond.end.i136
3636

3737
cond.false.i129: ; preds = %if.end14
3838
unreachable
3939

4040
cond.end.i136: ; preds = %if.end14
41-
br i1 undef, label %land.lhs.true.i, label %if.end.i145
41+
br i1 %arg, label %land.lhs.true.i, label %if.end.i145
4242

4343
land.lhs.true.i: ; preds = %cond.end.i136
44-
br i1 undef, label %if.end.i145, label %if.then.i137
44+
br i1 %arg, label %if.end.i145, label %if.then.i137
4545

4646
if.then.i137: ; preds = %land.lhs.true.i
47-
br i1 undef, label %cond.false8.i, label %cond.end9.i
47+
br i1 %arg, label %cond.false8.i, label %cond.end9.i
4848

4949
cond.false8.i: ; preds = %if.then.i137
5050
unreachable
5151

5252
cond.end9.i: ; preds = %if.then.i137
53-
br i1 undef, label %if.then23, label %if.end24
53+
br i1 %arg, label %if.then23, label %if.end24
5454

5555
if.end.i145: ; preds = %land.lhs.true.i, %cond.end.i136
5656
unreachable
@@ -59,19 +59,19 @@ if.then23: ; preds = %cond.end9.i
5959
unreachable
6060

6161
if.end24: ; preds = %cond.end9.i
62-
br i1 undef, label %for.end, label %for.body.lr.ph
62+
br i1 %arg, label %for.end, label %for.body.lr.ph
6363

6464
for.body.lr.ph: ; preds = %if.end24
6565
unreachable
6666

6767
for.end: ; preds = %if.end24
68-
br i1 undef, label %if.end123, label %if.then121
68+
br i1 %arg, label %if.end123, label %if.then121
6969

7070
if.then121: ; preds = %for.end
7171
unreachable
7272

7373
if.end123: ; preds = %for.end
74-
br i1 undef, label %if.end150, label %if.then126
74+
br i1 %arg, label %if.end150, label %if.then126
7575

7676
if.then126: ; preds = %if.end123
7777
%ptrint.i.i185 = ptrtoint ptr undef to i64
@@ -85,33 +85,33 @@ if.then126: ; preds = %if.end123
8585
%0 = tail call i32 @llvm.bswap.i32(i32 %ret.0.copyload.i.i189) #0
8686
%conv131 = zext i32 %0 to i64
8787
%add.ptr132 = getelementptr inbounds i8, ptr undef, i64 %conv131
88-
br i1 undef, label %if.end150, label %if.end.i173
88+
br i1 %arg, label %if.end150, label %if.end.i173
8989

9090
if.end.i173: ; preds = %if.then126
91-
br i1 undef, label %test1.exit, label %cond.false.i.i.i.i174
91+
br i1 %arg, label %test1.exit, label %cond.false.i.i.i.i174
9292

9393
cond.false.i.i.i.i174: ; preds = %if.end.i173
9494
unreachable
9595

9696
test1.exit: ; preds = %if.end.i173
97-
br i1 undef, label %test1a.exit, label %if.end.i124
97+
br i1 %arg, label %test1a.exit, label %if.end.i124
9898

9999
if.end.i124: ; preds = %test1.exit
100100
unreachable
101101

102102
test1a.exit: ; preds = %test1.exit
103-
br i1 undef, label %if.end150, label %for.body137.lr.ph
103+
br i1 %arg, label %if.end150, label %for.body137.lr.ph
104104

105105
for.body137.lr.ph: ; preds = %test1a.exit
106106
br label %for.body137
107107

108108
for.body137: ; preds = %test1b.exit, %for.body137.lr.ph
109109
%ShndxTable.0309 = phi ptr [ %add.ptr132, %for.body137.lr.ph ], [ %incdec.ptr, %test1b.exit ]
110-
br i1 undef, label %for.body137.if.end146_crit_edge, label %if.then140
110+
br i1 %arg, label %for.body137.if.end146_crit_edge, label %if.then140
111111

112112
for.body137.if.end146_crit_edge: ; preds = %for.body137
113113
%incdec.ptr = getelementptr inbounds %type1, ptr %ShndxTable.0309, i64 1
114-
br i1 undef, label %cond.false.i70, label %cond.end.i
114+
br i1 %arg, label %cond.false.i70, label %cond.end.i
115115

116116
if.then140: ; preds = %for.body137
117117
%ret.0.copyload.i.i102 = load i32, ptr %ShndxTable.0309, align 2
@@ -124,16 +124,16 @@ cond.false.i70: ; preds = %for.body137.if.end1
124124
unreachable
125125

126126
cond.end.i: ; preds = %for.body137.if.end146_crit_edge
127-
br i1 undef, label %test1b.exit, label %cond.false.i.i
127+
br i1 %arg, label %test1b.exit, label %cond.false.i.i
128128

129129
cond.false.i.i: ; preds = %cond.end.i
130130
unreachable
131131

132132
test1b.exit: ; preds = %cond.end.i
133-
br i1 undef, label %if.end150, label %for.body137
133+
br i1 %arg, label %if.end150, label %for.body137
134134

135135
if.end150: ; preds = %test1b.exit, %test1a.exit, %if.then126, %if.end123
136-
br i1 undef, label %for.end176, label %for.body155.lr.ph
136+
br i1 %arg, label %for.end176, label %for.body155.lr.ph
137137

138138
for.body155.lr.ph: ; preds = %if.end150
139139
unreachable

llvm/test/Transforms/Attributor/IPConstantProp/fp-bc-icmp-const-fold.ll

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,51 +4,56 @@
44
target datalayout = "E-m:e-i64:64-n32:64"
55
target triple = "powerpc64le-unknown-linux"
66

7-
define void @test(i32 signext %n) {
8-
; CHECK: Function Attrs: nofree norecurse noreturn nosync nounwind memory(none)
7+
define void @test(i32 signext %n, i1 %arg) {
8+
; CHECK: Function Attrs: nofree norecurse nosync nounwind memory(none)
99
; CHECK-LABEL: define {{[^@]+}}@test
10-
; CHECK-SAME: (i32 signext [[N:%.*]]) #[[ATTR0:[0-9]+]] {
10+
; CHECK-SAME: (i32 signext [[N:%.*]], i1 noundef [[ARG:%.*]]) #[[ATTR0:[0-9]+]] {
1111
; CHECK-NEXT: entry:
12-
; CHECK-NEXT: unreachable
12+
; CHECK-NEXT: br i1 [[ARG]], label [[IF_THEN:%.*]], label [[IF_END:%.*]]
1313
; CHECK: if.then:
14-
; CHECK-NEXT: unreachable
14+
; CHECK-NEXT: ret void
1515
; CHECK: if.end:
16-
; CHECK-NEXT: unreachable
16+
; CHECK-NEXT: br i1 [[ARG]], label [[IF_THEN2:%.*]], label [[IF_END4:%.*]]
1717
; CHECK: if.then2:
1818
; CHECK-NEXT: unreachable
1919
; CHECK: if.end4:
20-
; CHECK-NEXT: unreachable
20+
; CHECK-NEXT: switch i32 [[N]], label [[IF_ELSE14:%.*]] [
21+
; CHECK-NEXT: i32 0, label [[IF_THEN9:%.*]]
22+
; CHECK-NEXT: i32 1, label [[IF_THEN12:%.*]]
23+
; CHECK-NEXT: ]
2124
; CHECK: if.then9:
2225
; CHECK-NEXT: unreachable
2326
; CHECK: if.then12:
2427
; CHECK-NEXT: unreachable
2528
; CHECK: if.else14:
26-
; CHECK-NEXT: unreachable
29+
; CHECK-NEXT: br label [[DO_BODY:%.*]]
2730
; CHECK: do.body:
28-
; CHECK-NEXT: unreachable
31+
; CHECK-NEXT: [[SCALE_0:%.*]] = phi ppc_fp128 [ 0xM3FF00000000000000000000000000000, [[IF_ELSE14]] ], [ [[SCALE_0]], [[DO_BODY]] ]
32+
; CHECK-NEXT: br i1 [[ARG]], label [[DO_BODY]], label [[IF_THEN33:%.*]]
2933
; CHECK: if.then33:
30-
; CHECK-NEXT: unreachable
34+
; CHECK-NEXT: br i1 [[ARG]], label [[_ZN5BOOST4MATH4SIGNIGEEIRKT__EXIT30:%.*]], label [[COND_FALSE_I28:%.*]]
3135
; CHECK: cond.false.i28:
32-
; CHECK-NEXT: unreachable
36+
; CHECK-NEXT: [[TMP0:%.*]] = bitcast ppc_fp128 [[SCALE_0]] to i128
37+
; CHECK-NEXT: [[TOBOOL_I26:%.*]] = icmp slt i128 [[TMP0]], 0
38+
; CHECK-NEXT: br label [[_ZN5BOOST4MATH4SIGNIGEEIRKT__EXIT30]]
3339
; CHECK: _ZN5boost4math4signIgEEiRKT_.exit30:
3440
; CHECK-NEXT: unreachable
3541
;
3642

3743
entry:
38-
br i1 undef, label %if.then, label %if.end
44+
br i1 %arg, label %if.then, label %if.end
3945

4046
if.then: ; preds = %entry
4147
ret void
4248

4349
if.end: ; preds = %entry
44-
br i1 undef, label %if.then2, label %if.end4
50+
br i1 %arg, label %if.then2, label %if.end4
4551

4652
if.then2: ; preds = %if.end
4753
unreachable
4854

4955
if.end4: ; preds = %if.end
50-
%sub.n = select i1 undef, i32 undef, i32 %n
51-
switch i32 %sub.n, label %if.else14 [
56+
switch i32 %n, label %if.else14 [
5257
i32 0, label %if.then9
5358
i32 1, label %if.then12
5459
]
@@ -64,10 +69,10 @@ if.else14: ; preds = %if.end4
6469

6570
do.body: ; preds = %do.body, %if.else14
6671
%scale.0 = phi ppc_fp128 [ 0xM3FF00000000000000000000000000000, %if.else14 ], [ %scale.0, %do.body ]
67-
br i1 undef, label %do.body, label %if.then33
72+
br i1 %arg, label %do.body, label %if.then33
6873

6974
if.then33: ; preds = %do.body
70-
br i1 undef, label %_ZN5boost4math4signIgEEiRKT_.exit30, label %cond.false.i28
75+
br i1 %arg, label %_ZN5boost4math4signIgEEiRKT_.exit30, label %cond.false.i28
7176

7277
cond.false.i28: ; preds = %if.then33
7378
%0 = bitcast ppc_fp128 %scale.0 to i128
@@ -79,7 +84,7 @@ _ZN5boost4math4signIgEEiRKT_.exit30: ; preds = %cond.false.i28, %if
7984
}
8085

8186
;.
82-
; CHECK: attributes #[[ATTR0]] = { nofree norecurse noreturn nosync nounwind memory(none) }
87+
; CHECK: attributes #[[ATTR0]] = { nofree norecurse nosync nounwind memory(none) }
8388
;.
8489
;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
8590
; CGSCC: {{.*}}

llvm/test/Transforms/BDCE/order.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ target triple = "x86_64-unknown-linux-gnu"
44

55
declare i32 @__gxx_personality_v0(...)
66

7-
define fastcc void @_ZN11__sanitizerL12TestRegistryEPNS_14ThreadRegistryEb() #0 personality ptr @__gxx_personality_v0 {
7+
define fastcc void @_ZN11__sanitizerL12TestRegistryEPNS_14ThreadRegistryEb(i1 %arg) #0 personality ptr @__gxx_personality_v0 {
88
entry:
9-
br i1 undef, label %if.else, label %entry.if.end_crit_edge
9+
br i1 %arg, label %if.else, label %entry.if.end_crit_edge
1010

1111
if.else:
1212
ret void

llvm/test/Transforms/CallSiteSplitting/callsite-instructions-before-call.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,13 +140,13 @@ End: ; preds = %CallSite, %TBB
140140

141141
; In this test case, we need to insert a new PHI node in TailBB to combine
142142
; the loads we moved to the predecessors.
143-
define void @test_add_new_phi(ptr %ptrarg, i32 %i) {
143+
define void @test_add_new_phi(ptr %ptrarg, i32 %i, i1 %arg) {
144144
Header:
145145
%tobool = icmp ne ptr %ptrarg, null
146146
br i1 %tobool, label %TBB, label %CallSite
147147

148148
TBB:
149-
br i1 undef, label %CallSite, label %End
149+
br i1 %arg, label %CallSite, label %End
150150

151151
CallSite:
152152
%arrayidx112 = getelementptr inbounds i32, ptr undef, i64 1

llvm/test/Transforms/CallSiteSplitting/callsite-no-or-structure.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
; CHECK-LABEL: @test_simple
55
; CHECK-LABEL: Header:
6-
; CHECK-NEXT: br i1 undef, label %Header.split
6+
; CHECK-NEXT: br i1 %arg, label %Header.split
77
; CHECK-LABEL: Header.split:
88
; CHECK: %[[CALL1:.*]] = call i32 @callee(ptr %a, i32 %v, i32 %p)
99
; CHECK-LABEL: TBB:
@@ -13,9 +13,9 @@
1313
; CHECK-LABEL: Tail
1414
; CHECK: %[[MERGED:.*]] = phi i32 [ %[[CALL1]], %Header.split ], [ %[[CALL2]], %TBB.split ]
1515
; CHECK: ret i32 %[[MERGED]]
16-
define i32 @test_simple(ptr %a, i32 %v, i32 %p) {
16+
define i32 @test_simple(ptr %a, i32 %v, i32 %p, i1 %arg) {
1717
Header:
18-
br i1 undef, label %Tail, label %End
18+
br i1 %arg, label %Tail, label %End
1919

2020
TBB:
2121
%cmp = icmp eq ptr %a, null

llvm/test/Transforms/CallSiteSplitting/callsite-no-splitting.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,16 @@ entry:
2222
ret void
2323
}
2424

25-
define void @fn2() {
25+
define void @fn2(i1 %arg) {
2626
ret void
2727

2828
; Unreachable code below
2929

3030
for.inc: ; preds = %for.inc
31-
br i1 undef, label %for.end6, label %for.inc
31+
br i1 %arg, label %for.end6, label %for.inc
3232

3333
for.end6: ; preds = %for.inc
34-
br i1 undef, label %lor.rhs, label %lor.end
34+
br i1 %arg, label %lor.rhs, label %lor.end
3535

3636
lor.rhs: ; preds = %for.end6
3737
br label %lor.end

0 commit comments

Comments
 (0)