Skip to content

Commit bf16730

Browse files
committed
Remove br i1 undef in NewGVN directory
1 parent 60ee981 commit bf16730

37 files changed

+290
-285
lines changed

llvm/test/Transforms/NewGVN/2010-03-31-RedundantPHIs.ll

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,42 +4,45 @@
44
; CHECK-NOT: load
55
; CHECK-NOT: phi
66

7-
define ptr @cat(ptr %s1, ...) nounwind {
7+
define ptr @cat(ptr %s1, i1 %arg, ...) nounwind {
88
; CHECK-LABEL: define ptr @cat(
9-
; CHECK-SAME: ptr [[S1:%.*]], ...) #[[ATTR0:[0-9]+]] {
9+
; CHECK-SAME: ptr [[S1:%.*]], i1 [[ARG:%.*]], ...) #[[ATTR0:[0-9]+]] {
1010
; CHECK-NEXT: entry:
11-
; CHECK-NEXT: br i1 undef, label [[BB:%.*]], label [[BB3:%.*]]
11+
; CHECK-NEXT: br i1 false, label [[BB:%.*]], label [[BB3:%.*]]
1212
; CHECK: bb:
13+
; CHECK-NEXT: store i8 poison, ptr null, align 1
1314
; CHECK-NEXT: unreachable
1415
; CHECK: bb3:
1516
; CHECK-NEXT: store ptr undef, ptr undef, align 4
16-
; CHECK-NEXT: br i1 undef, label [[BB5:%.*]], label [[BB6:%.*]]
17+
; CHECK-NEXT: br i1 false, label [[BB5:%.*]], label [[BB6:%.*]]
1718
; CHECK: bb5:
19+
; CHECK-NEXT: store i8 poison, ptr null, align 1
1820
; CHECK-NEXT: unreachable
1921
; CHECK: bb6:
2022
; CHECK-NEXT: br label [[BB12:%.*]]
2123
; CHECK: bb8:
22-
; CHECK-NEXT: br i1 undef, label [[BB9:%.*]], label [[BB10:%.*]]
24+
; CHECK-NEXT: br i1 true, label [[BB9:%.*]], label [[BB10:%.*]]
2325
; CHECK: bb9:
2426
; CHECK-NEXT: br label [[BB11:%.*]]
2527
; CHECK: bb10:
28+
; CHECK-NEXT: store i8 poison, ptr null, align 1
2629
; CHECK-NEXT: br label [[BB11]]
2730
; CHECK: bb11:
2831
; CHECK-NEXT: br label [[BB12]]
2932
; CHECK: bb12:
30-
; CHECK-NEXT: br i1 undef, label [[BB8:%.*]], label [[BB13:%.*]]
33+
; CHECK-NEXT: br i1 [[ARG]], label [[BB8:%.*]], label [[BB13:%.*]]
3134
; CHECK: bb13:
3235
; CHECK-NEXT: ret ptr undef
3336
;
3437
entry:
35-
br i1 undef, label %bb, label %bb3
38+
br i1 false, label %bb, label %bb3
3639

3740
bb: ; preds = %entry
3841
unreachable
3942

4043
bb3: ; preds = %entry
4144
store ptr undef, ptr undef, align 4
42-
br i1 undef, label %bb5, label %bb6
45+
br i1 false, label %bb5, label %bb6
4346

4447
bb5: ; preds = %bb3
4548
unreachable
@@ -48,7 +51,7 @@ bb6: ; preds = %bb3
4851
br label %bb12
4952

5053
bb8: ; preds = %bb12
51-
br i1 undef, label %bb9, label %bb10
54+
br i1 %arg, label %bb9, label %bb10
5255

5356
bb9: ; preds = %bb8
5457
%0 = load ptr, ptr undef, align 4 ; <ptr> [#uses=0]
@@ -62,7 +65,7 @@ bb11: ; preds = %bb10, %bb9
6265
br label %bb12
6366

6467
bb12: ; preds = %bb11, %bb6
65-
br i1 undef, label %bb8, label %bb13
68+
br i1 %arg, label %bb8, label %bb13
6669

6770
bb13: ; preds = %bb12
6871
ret ptr undef

llvm/test/Transforms/NewGVN/2010-05-08-OneBit.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
66
target triple = "x86_64-unknown-linux-gnu"
77

8-
define i32 @main(i32 %argc, ptr nocapture %argv) personality ptr @__gxx_personality_v0 {
8+
define i32 @main(i32 %argc, ptr nocapture %argv, i1 %arg, i32 %arg2) personality ptr @__gxx_personality_v0 {
99
entry:
1010
%0 = getelementptr inbounds i8, ptr undef, i64 5 ; <ptr> [#uses=1]
1111
store i32 undef, ptr %0, align 1
12-
br i1 undef, label %k121.i.i, label %l117.i.i
12+
br i1 %arg, label %k121.i.i, label %l117.i.i
1313

1414
l117.i.i: ; preds = %entry
1515
invoke fastcc void @foo()
@@ -19,7 +19,7 @@ l117.i.i: ; preds = %entry
1919
unreachable
2020

2121
k121.i.i: ; preds = %entry
22-
br i1 undef, label %l129.i.i, label %k133.i.i
22+
br i1 %arg, label %l129.i.i, label %k133.i.i
2323

2424
l129.i.i: ; preds = %k121.i.i
2525
invoke fastcc void @foo()
@@ -46,7 +46,7 @@ k151.i.i: ; preds = %k133.i.i
4646
landing_pad: ; preds = %l147.i.i, %l129.i.i, %l117.i.i
4747
%exn = landingpad {ptr, i32}
4848
cleanup
49-
switch i32 undef, label %fin [
49+
switch i32 %arg2, label %fin [
5050
i32 1, label %catch1
5151
i32 2, label %catch
5252
]

llvm/test/Transforms/NewGVN/2011-04-27-phioperands.ll

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
55

66
@nuls = external global [10 x i8]
77

8-
define fastcc void @p_ere() nounwind {
8+
define fastcc void @p_ere(i1 %arg, i32 %arg2) nounwind {
99
entry:
1010
br label %"<bb 5>"
1111

1212
"<L18>.i":
13-
br i1 undef, label %"<bb 3>.i30.i", label %doemit.exit51.i
13+
br i1 %arg, label %"<bb 3>.i30.i", label %doemit.exit51.i
1414

1515
"<bb 3>.i30.i":
1616
unreachable
@@ -19,7 +19,7 @@ doemit.exit51.i:
1919
br label %"<bb 53>.i"
2020

2121
"<L19>.i":
22-
br i1 undef, label %"<bb 3>.i55.i", label %doemit.exit76.i
22+
br i1 %arg, label %"<bb 3>.i55.i", label %doemit.exit76.i
2323

2424
"<bb 3>.i55.i":
2525
unreachable
@@ -35,7 +35,7 @@ doemit.exit76.i:
3535
br label %"<bb 53>.i"
3636

3737
"<L24>.i":
38-
br i1 undef, label %"<bb 53>.i", label %"<bb 35>.i"
38+
br i1 %arg, label %"<bb 53>.i", label %"<bb 35>.i"
3939

4040
"<bb 35>.i":
4141
br label %"<bb 53>.i"
@@ -52,27 +52,27 @@ doemit.exit76.i:
5252
"<bb 53>.i":
5353
%wascaret_2.i = phi i32 [ 0, %"<L39>.i" ], [ 0, %"<L29>.i" ], [ 0, %"<L28>.i" ], [ 0, %"<bb 35>.i" ], [ 0, %"<L99>.i" ], [ 0, %"<L98>.i" ], [ 0, %doemit.exit76.i ], [ 1, %doemit.exit51.i ], [ 0, %"<L24>.i" ]
5454
%D.5496_84.i = load ptr, ptr undef, align 8
55-
br i1 undef, label %"<bb 54>.i", label %"<bb 5>"
55+
br i1 %arg, label %"<bb 54>.i", label %"<bb 5>"
5656

5757
"<bb 54>.i":
58-
br i1 undef, label %"<bb 5>", label %"<bb 58>.i"
58+
br i1 %arg, label %"<bb 5>", label %"<bb 58>.i"
5959

6060
"<bb 58>.i":
61-
br i1 undef, label %"<bb 64>.i", label %"<bb 59>.i"
61+
br i1 %arg, label %"<bb 64>.i", label %"<bb 59>.i"
6262

6363
"<bb 59>.i":
6464
br label %"<bb 64>.i"
6565

6666
"<bb 64>.i":
67-
switch i32 undef, label %"<bb 5>" [
67+
switch i32 %arg2, label %"<bb 5>" [
6868
i32 42, label %"<L54>.i"
6969
i32 43, label %"<L55>.i"
7070
i32 63, label %"<L56>.i"
7171
i32 123, label %"<bb 5>.i258.i"
7272
]
7373

7474
"<L54>.i":
75-
br i1 undef, label %"<bb 3>.i105.i", label %doemit.exit127.i
75+
br i1 %arg, label %"<bb 3>.i105.i", label %doemit.exit127.i
7676

7777
"<bb 3>.i105.i":
7878
unreachable
@@ -81,7 +81,7 @@ doemit.exit127.i:
8181
unreachable
8282

8383
"<L55>.i":
84-
br i1 undef, label %"<bb 3>.i157.i", label %"<bb 5>"
84+
br i1 %arg, label %"<bb 3>.i157.i", label %"<bb 5>"
8585

8686
"<bb 3>.i157.i":
8787
unreachable
@@ -93,7 +93,7 @@ doemit.exit127.i:
9393
unreachable
9494

9595
"<bb 5>":
96-
switch i32 undef, label %"<L39>.i" [
96+
switch i32 %arg2, label %"<L39>.i" [
9797
i32 36, label %"<L19>.i"
9898
i32 94, label %"<L18>.i"
9999
i32 124, label %"<L98>.i"

llvm/test/Transforms/NewGVN/2012-05-22-PreCrash.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
; RUN: opt < %s -passes=newgvn
33
; PR12858
44

5-
define void @fn5(i16 signext %p1, i8 signext %p2) nounwind uwtable {
5+
define void @fn5(i16 signext %p1, i8 signext %p2, i1 %arg) nounwind uwtable {
66
entry:
7-
br i1 undef, label %if.else, label %if.then
7+
br i1 %arg, label %if.else, label %if.then
88

99
if.then: ; preds = %entry
1010
br label %if.end
@@ -15,7 +15,7 @@ if.else: ; preds = %entry
1515

1616
if.end: ; preds = %if.else, %if.then
1717
%conv1 = sext i16 %p1 to i32
18-
br i1 undef, label %if.then3, label %if.else4
18+
br i1 %arg, label %if.then3, label %if.else4
1919

2020
if.then3: ; preds = %if.end
2121
br label %if.end12

llvm/test/Transforms/NewGVN/basic-cyclic-opt.ll

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -242,29 +242,29 @@ bb23: ; preds = %bb4
242242
;; Both loads should equal 0, but it requires being
243243
;; completely optimistic about MemoryPhis, otherwise
244244
;; we will not be able to see through the cycle.
245-
define i8 @irreducible_memoryphi(ptr noalias %arg, ptr noalias %arg2) {
245+
define i8 @irreducible_memoryphi(ptr noalias %arg, ptr noalias %arg2, i1 %arg3) {
246246
; CHECK-LABEL: @irreducible_memoryphi(
247247
; CHECK-NEXT: bb:
248248
; CHECK-NEXT: store i8 0, ptr [[ARG:%.*]], align 1
249-
; CHECK-NEXT: br i1 undef, label [[BB2:%.*]], label [[BB1:%.*]]
249+
; CHECK-NEXT: br i1 [[ARG3:%.*]], label [[BB2:%.*]], label [[BB1:%.*]]
250250
; CHECK: bb1:
251251
; CHECK-NEXT: br label [[BB2]]
252252
; CHECK: bb2:
253-
; CHECK-NEXT: br i1 undef, label [[BB1]], label [[BB3:%.*]]
253+
; CHECK-NEXT: br i1 [[ARG3]], label [[BB1]], label [[BB3:%.*]]
254254
; CHECK: bb3:
255255
; CHECK-NEXT: ret i8 0
256256
;
257257
bb:
258258
store i8 0, ptr %arg
259-
br i1 undef, label %bb2, label %bb1
259+
br i1 %arg3, label %bb2, label %bb1
260260

261261
bb1: ; preds = %bb2, %bb
262262
br label %bb2
263263

264264
bb2: ; preds = %bb1, %bb
265265
%tmp2 = load i8, ptr %arg
266266
store i8 0, ptr %arg
267-
br i1 undef, label %bb1, label %bb3
267+
br i1 %arg3, label %bb1, label %bb3
268268

269269
bb3: ; preds = %bb2
270270
%tmp = load i8, ptr %arg
@@ -277,28 +277,28 @@ bb3: ; preds = %bb2
277277
;; It should return 0, but it requires being
278278
;; completely optimistic about phis, otherwise
279279
;; we will not be able to see through the cycle.
280-
define i32 @irreducible_phi(i32 %arg) {
280+
define i32 @irreducible_phi(i32 %arg, i1 %arg2) {
281281
; CHECK-LABEL: @irreducible_phi(
282282
; CHECK-NEXT: bb:
283-
; CHECK-NEXT: br i1 undef, label [[BB2:%.*]], label [[BB1:%.*]]
283+
; CHECK-NEXT: br i1 [[ARG2:%.*]], label [[BB2:%.*]], label [[BB1:%.*]]
284284
; CHECK: bb1:
285285
; CHECK-NEXT: br label [[BB2]]
286286
; CHECK: bb2:
287-
; CHECK-NEXT: br i1 undef, label [[BB1]], label [[BB3:%.*]]
287+
; CHECK-NEXT: br i1 [[ARG2]], label [[BB1]], label [[BB3:%.*]]
288288
; CHECK: bb3:
289289
; CHECK-NEXT: ret i32 0
290290
;
291291
bb:
292292
%tmp = add i32 0, %arg
293-
br i1 undef, label %bb2, label %bb1
293+
br i1 %arg2, label %bb2, label %bb1
294294

295295
bb1: ; preds = %bb2, %bb
296296
%phi1 = phi i32 [%tmp, %bb], [%phi2, %bb2]
297297
br label %bb2
298298

299299
bb2: ; preds = %bb1, %bb
300300
%phi2 = phi i32 [%tmp, %bb], [%phi1, %bb1]
301-
br i1 undef, label %bb1, label %bb3
301+
br i1 %arg2, label %bb1, label %bb3
302302

303303
bb3: ; preds = %bb2
304304
; This should be zero

llvm/test/Transforms/NewGVN/completeness.ll

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -386,12 +386,12 @@ bb1: ; preds = %bb1, %bb
386386

387387
;; Make sure we handle the case where we later come up with an expression that we need
388388
;; for a phi of ops.
389-
define void @test9() {
389+
define void @test9(i1 %arg) {
390390
; CHECK-LABEL: @test9(
391391
; CHECK-NEXT: bb:
392392
; CHECK-NEXT: br label [[BB1:%.*]]
393393
; CHECK: bb1:
394-
; CHECK-NEXT: br i1 undef, label [[BB1]], label [[BB2:%.*]]
394+
; CHECK-NEXT: br i1 [[ARG:%.*]], label [[BB1]], label [[BB2:%.*]]
395395
; CHECK: bb2:
396396
; CHECK-NEXT: br label [[BB6:%.*]]
397397
; CHECK: bb6:
@@ -405,7 +405,7 @@ bb:
405405
br label %bb1
406406

407407
bb1: ; preds = %bb1, %bb
408-
br i1 undef, label %bb1, label %bb2
408+
br i1 %arg, label %bb1, label %bb2
409409

410410
bb2: ; preds = %bb1
411411
%tmp = select i1 true, i32 -14, i32 -10
@@ -426,7 +426,7 @@ bb6: ; preds = %bb6, %bb2
426426
}
427427

428428
;; Ensure that we revisit predicateinfo operands at the right points in time.
429-
define void @test10() {
429+
define void @test10(i1 %arg) {
430430
; CHECK-LABEL: @test10(
431431
; CHECK-NEXT: b:
432432
; CHECK-NEXT: br label [[G:%.*]]
@@ -436,7 +436,7 @@ define void @test10() {
436436
; CHECK-NEXT: [[J:%.*]] = icmp eq ptr [[H]], inttoptr (i64 32 to ptr)
437437
; CHECK-NEXT: br i1 [[J]], label [[C:%.*]], label [[I]]
438438
; CHECK: i:
439-
; CHECK-NEXT: br i1 undef, label [[K:%.*]], label [[G]]
439+
; CHECK-NEXT: br i1 [[ARG:%.*]], label [[K:%.*]], label [[G]]
440440
; CHECK: k:
441441
; CHECK-NEXT: br i1 false, label [[C]], label [[O:%.*]]
442442
; CHECK: o:
@@ -455,7 +455,7 @@ g: ; preds = %i, %b
455455
br i1 %j, label %c, label %i
456456

457457
i: ; preds = %g
458-
br i1 undef, label %k, label %g
458+
br i1 %arg, label %k, label %g
459459

460460
k: ; preds = %i
461461
%l = icmp eq ptr %n, %m
@@ -470,10 +470,10 @@ c: ; preds = %o, %k, %g
470470
}
471471

472472
;; Ensure we handle VariableExpression properly.
473-
define void @test11() {
473+
define void @test11(i1 %arg) {
474474
; CHECK-LABEL: @test11(
475475
; CHECK-NEXT: bb:
476-
; CHECK-NEXT: br i1 undef, label [[BB1:%.*]], label [[BB2:%.*]]
476+
; CHECK-NEXT: br i1 [[ARG:%.*]], label [[BB1:%.*]], label [[BB2:%.*]]
477477
; CHECK: bb1:
478478
; CHECK-NEXT: br label [[BB2]]
479479
; CHECK: bb2:
@@ -488,7 +488,7 @@ define void @test11() {
488488
; CHECK-NEXT: ret void
489489
;
490490
bb:
491-
br i1 undef, label %bb1, label %bb2
491+
br i1 %arg, label %bb1, label %bb2
492492

493493
bb1: ; preds = %bb
494494
br label %bb2

0 commit comments

Comments
 (0)