-
Notifications
You must be signed in to change notification settings - Fork 14k
[llvm] Remove br i1 undef
from regression tests
#116739
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@llvm/pr-subscribers-llvm-transforms Author: Lee Wei (leewei05) ChangesThis PR removes tests with br i1 undef under @nunoplopes @regehr Patch is 78.17 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/116739.diff 41 Files Affected:
diff --git a/llvm/test/Transforms/JumpThreading/PR33357-lvi-recursion.ll b/llvm/test/Transforms/JumpThreading/PR33357-lvi-recursion.ll
index 76ee63b37734cc..a36f81bda55ab3 100644
--- a/llvm/test/Transforms/JumpThreading/PR33357-lvi-recursion.ll
+++ b/llvm/test/Transforms/JumpThreading/PR33357-lvi-recursion.ll
@@ -12,7 +12,7 @@
define void @f(i32 %p1) {
bb0:
%0 = icmp eq i32 %p1, 0
- br i1 undef, label %bb6, label %bb1
+ br i1 true, label %bb6, label %bb1
bb1:
br label %bb2
diff --git a/llvm/test/Transforms/JumpThreading/basic.ll b/llvm/test/Transforms/JumpThreading/basic.ll
index bb8eeb7137164d..f37843903a5b13 100644
--- a/llvm/test/Transforms/JumpThreading/basic.ll
+++ b/llvm/test/Transforms/JumpThreading/basic.ll
@@ -60,12 +60,11 @@ F2:
}
-; Undef handling.
define i32 @test3(i1 %cond) {
; CHECK-LABEL: @test3(
; CHECK-NEXT: T1:
; CHECK-NEXT: ret i32 42
- br i1 undef, label %T1, label %F1
+ br i1 true, label %T1, label %F1
T1:
ret i32 42
diff --git a/llvm/test/Transforms/JumpThreading/crash.ll b/llvm/test/Transforms/JumpThreading/crash.ll
index 69ef3b97629088..4fab807864db8b 100644
--- a/llvm/test/Transforms/JumpThreading/crash.ll
+++ b/llvm/test/Transforms/JumpThreading/crash.ll
@@ -239,7 +239,7 @@ return:
}
; PR6119
-define i32 @test8(i32 %action) nounwind {
+define i32 @test8(i32 %action, i1 %arg) nounwind {
entry:
switch i32 %action, label %lor.rhs [
i32 1, label %if.then
@@ -257,14 +257,14 @@ lor.end: ; preds = %lor.rhs, %entry
br i1 %cmp103, label %for.cond, label %if.then
for.cond: ; preds = %for.body, %lor.end
- br i1 undef, label %if.then, label %for.body
+ br i1 %arg, label %if.then, label %for.body
for.body: ; preds = %for.cond
br label %for.cond
}
; PR6119
-define i32 @test9(i32 %action) nounwind {
+define i32 @test9(i32 %action, i1 %arg) nounwind {
entry:
switch i32 %action, label %lor.rhs [
i32 1, label %if.then
@@ -283,14 +283,14 @@ lor.end: ; preds = %lor.rhs, %entry
br i1 %cmp103, label %for.cond, label %if.then
for.cond: ; preds = %for.body, %lor.end
- br i1 undef, label %if.then, label %for.body
+ br i1 %arg, label %if.then, label %for.body
for.body: ; preds = %for.cond
br label %for.cond
}
; PR6119
-define i32 @test10(i32 %action, i32 %type) nounwind {
+define i32 @test10(i32 %action, i32 %type, i1 %arg) nounwind {
entry:
%cmp2 = icmp eq i32 %type, 0 ; <i1> [#uses=1]
switch i32 %action, label %lor.rhs [
@@ -311,7 +311,7 @@ lor.end: ; preds = %lor.rhs, %entry
br i1 %cmp103, label %for.cond, label %if.then
for.cond: ; preds = %for.body, %lor.end
- br i1 undef, label %if.then, label %for.body
+ br i1 %arg, label %if.then, label %for.body
for.body: ; preds = %for.cond
br label %for.cond
@@ -391,7 +391,7 @@ if.end: ; preds = %land.end69
}
; PR7647
-define void @test15() nounwind {
+define void @test15(i1 %arg) nounwind {
entry:
ret void
@@ -420,7 +420,7 @@ lbl_709:
br label %if.end949
for.cond603: ; preds = %for.body607, %if.end336
- br i1 undef, label %for.cond603, label %if.end949
+ br i1 %arg, label %for.cond603, label %if.end949
if.end949: ; preds = %for.cond603, %lbl_709, %for.cond111
%l_678.2 = phi i64 [ %l_678.5, %for.cond111 ], [ undef, %lbl_709 ], [ 5, %for.cond603 ] ; <i64> [#uses=1]
@@ -430,7 +430,7 @@ for.body1016: ; preds = %for.cond1012
br label %for.body1016
for.cond1035: ; preds = %for.inc1055, %if.then1026
- br i1 undef, label %for.cond1040, label %lbl_664
+ br i1 %arg, label %for.cond1040, label %lbl_664
for.cond1040: ; preds = %for.body1044, %for.cond1035
ret void
@@ -461,9 +461,9 @@ if.end:
ret void
}
-define void @test17() {
+define void @test17(i1 %arg) {
entry:
- br i1 undef, label %bb269.us.us, label %bb269.us.us.us
+ br i1 %arg, label %bb269.us.us, label %bb269.us.us.us
bb269.us.us.us:
%indvar = phi i64 [ %indvar.next, %bb287.us.us.us ], [ 0, %entry ]
diff --git a/llvm/test/Transforms/JumpThreading/ddt-crash.ll b/llvm/test/Transforms/JumpThreading/ddt-crash.ll
index 3f191a9d49dbce..b0bba1a2dd0c42 100644
--- a/llvm/test/Transforms/JumpThreading/ddt-crash.ll
+++ b/llvm/test/Transforms/JumpThreading/ddt-crash.ll
@@ -66,7 +66,7 @@ bb11:
ret void
}
-define void @spam(ptr %arg) {
+define void @spam(ptr %arg, i1 %arg2) {
; CHECK-LABEL: @spam(
; CHECK-NEXT: bb:
; CHECK-NEXT: [[TMP:%.*]] = load i8, ptr undef, align 8
@@ -87,9 +87,11 @@ define void @spam(ptr %arg) {
; CHECK-NEXT: i8 0, label [[BB11]]
; CHECK-NEXT: i8 1, label [[BB10:%.*]]
; CHECK-NEXT: i8 2, label [[BB10]]
-; CHECK-NEXT: i8 3, label [[BB8]]
-; CHECK-NEXT: i8 4, label [[BB8]]
+; CHECK-NEXT: i8 3, label [[BB7:%.*]]
+; CHECK-NEXT: i8 4, label [[BB7]]
; CHECK-NEXT: ]
+; CHECK: bb7:
+; CHECK-NEXT: br i1 [[ARG2:%.*]], label [[BB8]], label [[BB10]]
; CHECK: bb8:
; CHECK-NEXT: [[TMP9:%.*]] = icmp eq ptr undef, [[ARG:%.*]]
; CHECK-NEXT: br i1 [[TMP9]], label [[BB10]], label [[BB2]]
@@ -175,7 +177,7 @@ bb6:
br label %bb7
bb7:
- br i1 undef, label %bb8, label %bb10
+ br i1 %arg2, label %bb8, label %bb10
bb8:
%tmp9 = icmp eq ptr undef, %arg
diff --git a/llvm/test/Transforms/JumpThreading/ddt-crash4.ll b/llvm/test/Transforms/JumpThreading/ddt-crash4.ll
index 69eec7d5f6d8be..c84b5ffbc9edc3 100644
--- a/llvm/test/Transforms/JumpThreading/ddt-crash4.ll
+++ b/llvm/test/Transforms/JumpThreading/ddt-crash4.ll
@@ -3,7 +3,7 @@
@global = external global i64, align 8
-define void @f() {
+define void @f(i1 %arg) {
; CHECK-LABEL: @f(
; CHECK-NEXT: bb:
; CHECK-NEXT: br label [[BB1:%.*]]
@@ -15,12 +15,28 @@ define void @f() {
; CHECK-NEXT: [[TMP4:%.*]] = load i64, ptr @global, align 8
; CHECK-NEXT: [[TMP5:%.*]] = icmp eq i64 [[TMP4]], 0
; CHECK-NEXT: br i1 [[TMP5]], label [[BB23:%.*]], label [[BB23]]
-; CHECK: bb23:
+; CHECK: bb10:
+; CHECK-NEXT: [[TMP11:%.*]] = load i64, ptr @global, align 8
+; CHECK-NEXT: [[TMP12:%.*]] = icmp slt i64 [[TMP11]], 5
+; CHECK-NEXT: br i1 [[TMP12]], label [[BB14:%.*]], label [[BB17:%.*]]
+; CHECK: bb14:
+; CHECK-NEXT: br i1 [[ARG:%.*]], label [[BB15:%.*]], label [[BB10:%.*]]
+; CHECK: bb15:
+; CHECK-NEXT: unreachable
+; CHECK: bb17:
; CHECK-NEXT: br label [[BB26:%.*]]
+; CHECK: bb18:
+; CHECK-NEXT: br i1 [[ARG]], label [[BB23]], label [[BB14]]
+; CHECK: bb21:
+; CHECK-NEXT: br label [[BB26]]
+; CHECK: bb23:
+; CHECK-NEXT: br i1 [[ARG]], label [[BB24:%.*]], label [[BB14]]
+; CHECK: bb24:
+; CHECK-NEXT: br i1 [[ARG]], label [[BB28:%.*]], label [[BB21:%.*]]
; CHECK: bb26:
; CHECK-NEXT: br label [[BB1]]
; CHECK: bb27:
-; CHECK-NEXT: br label [[BB26]]
+; CHECK-NEXT: br label [[BB24]]
;
bb:
br label %bb1
@@ -52,7 +68,7 @@ bb13:
br label %bb14
bb14:
- br i1 undef, label %bb15, label %bb16
+ br i1 %arg, label %bb15, label %bb16
bb15:
unreachable
@@ -64,10 +80,10 @@ bb17:
br label %bb18
bb18:
- br i1 undef, label %bb22, label %bb13
+ br i1 %arg, label %bb22, label %bb13
bb19:
- br i1 undef, label %bb20, label %bb21
+ br i1 %arg, label %bb20, label %bb21
bb20:
unreachable
@@ -79,10 +95,10 @@ bb22:
br label %bb23
bb23:
- br i1 undef, label %bb24, label %bb13
+ br i1 %arg, label %bb24, label %bb13
bb24:
- br i1 undef, label %bb26, label %bb25
+ br i1 %arg, label %bb26, label %bb25
bb25:
br label %bb19
diff --git a/llvm/test/Transforms/JumpThreading/landing-pad.ll b/llvm/test/Transforms/JumpThreading/landing-pad.ll
index 29def94cdda077..9c193cc061b568 100644
--- a/llvm/test/Transforms/JumpThreading/landing-pad.ll
+++ b/llvm/test/Transforms/JumpThreading/landing-pad.ll
@@ -63,7 +63,7 @@ entry:
ret void
}
-define void @_Z3fn1v() uwtable personality ptr @__gxx_personality_v0 {
+define void @_Z3fn1v(i1 %arg) uwtable personality ptr @__gxx_personality_v0 {
; CHECK-LABEL: @_Z3fn1v(
; CHECK-NEXT: entry:
; CHECK-NEXT: [[CALL:%.*]] = call noalias ptr @_Znwm()
@@ -93,6 +93,8 @@ define void @_Z3fn1v() uwtable personality ptr @__gxx_personality_v0 {
; CHECK-NEXT: [[TMP3:%.*]] = load i32, ptr [[_REF_I_I_I]], align 4
; CHECK-NEXT: [[TOBOOL_I_I_I:%.*]] = icmp eq i32 [[TMP3]], 0
; CHECK-NEXT: br i1 [[TOBOOL_I_I_I]], label [[_ZN1BI1DED1EV_EXIT:%.*]], label [[DELETE_NOTNULL_I_I_I:%.*]]
+; CHECK: if.then.i.i.i:
+; CHECK-NEXT: br i1 [[ARG:%.*]], label [[_ZN1BI1DED1EV_EXIT]], label [[DELETE_NOTNULL_I_I_I1:%.*]]
; CHECK: delete.notnull.i.i.i:
; CHECK-NEXT: call void @_ZdlPv()
; CHECK-NEXT: unreachable
@@ -138,7 +140,7 @@ lpad1: ; preds = %_ZN1DC1Ev.exit, %_Z
br i1 %tobool.i.i.i, label %_ZN1BI1DED1Ev.exit, label %if.then.i.i.i
if.then.i.i.i: ; preds = %lpad1
- br i1 undef, label %_ZN1BI1DED1Ev.exit, label %delete.notnull.i.i.i
+ br i1 %arg, label %_ZN1BI1DED1Ev.exit, label %delete.notnull.i.i.i
delete.notnull.i.i.i: ; preds = %if.then.i.i.i
call void @_ZdlPv() #9
@@ -191,7 +193,7 @@ entry:
declare void @_ZN1D16deleteKeyPressedEv()
-define void @_ZN1BI1DED1Ev(ptr nocapture readonly %this) unnamed_addr uwtable align 2 {
+define void @_ZN1BI1DED1Ev(ptr nocapture readonly %this, i1 %arg) unnamed_addr uwtable align 2 {
; CHECK-LABEL: @_ZN1BI1DED1Ev(
; CHECK-NEXT: entry:
; CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr [[THIS:%.*]], align 8
@@ -199,6 +201,8 @@ define void @_ZN1BI1DED1Ev(ptr nocapture readonly %this) unnamed_addr uwtable al
; CHECK-NEXT: [[TMP1:%.*]] = load i32, ptr [[_REF_I_I]], align 4
; CHECK-NEXT: [[TOBOOL_I_I:%.*]] = icmp eq i32 [[TMP1]], 0
; CHECK-NEXT: br i1 [[TOBOOL_I_I]], label [[_ZN1BI1DED2EV_EXIT:%.*]], label [[DELETE_NOTNULL_I_I:%.*]]
+; CHECK: if.then.i.i:
+; CHECK-NEXT: br i1 [[ARG:%.*]], label [[_ZN1BI1DED2EV_EXIT]], label [[DELETE_NOTNULL_I_I1:%.*]]
; CHECK: delete.notnull.i.i:
; CHECK-NEXT: call void @_ZdlPv()
; CHECK-NEXT: unreachable
@@ -213,7 +217,7 @@ entry:
br i1 %tobool.i.i, label %_ZN1BI1DED2Ev.exit, label %if.then.i.i
if.then.i.i: ; preds = %entry
- br i1 undef, label %_ZN1BI1DED2Ev.exit, label %delete.notnull.i.i
+ br i1 %arg, label %_ZN1BI1DED2Ev.exit, label %delete.notnull.i.i
delete.notnull.i.i: ; preds = %if.then.i.i
call void @_ZdlPv() #9
@@ -225,7 +229,7 @@ _ZN1BI1DED2Ev.exit: ; preds = %entry, %if.then.i.i
declare hidden void @__clang_call_terminate()
-define void @_ZN1BI1DED2Ev(ptr nocapture readonly %this) unnamed_addr uwtable align 2 {
+define void @_ZN1BI1DED2Ev(ptr nocapture readonly %this, i1 %arg) unnamed_addr uwtable align 2 {
; CHECK-LABEL: @_ZN1BI1DED2Ev(
; CHECK-NEXT: entry:
; CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr [[THIS:%.*]], align 8
@@ -233,6 +237,8 @@ define void @_ZN1BI1DED2Ev(ptr nocapture readonly %this) unnamed_addr uwtable al
; CHECK-NEXT: [[TMP1:%.*]] = load i32, ptr [[_REF_I]], align 4
; CHECK-NEXT: [[TOBOOL_I:%.*]] = icmp eq i32 [[TMP1]], 0
; CHECK-NEXT: br i1 [[TOBOOL_I]], label [[_ZN1AI1CE5DEREFEV_EXIT:%.*]], label [[DELETE_NOTNULL_I:%.*]]
+; CHECK: if.then.i:
+; CHECK-NEXT: br i1 [[ARG:%.*]], label [[_ZN1AI1CE5DEREFEV_EXIT]], label [[DELETE_NOTNULL_I1:%.*]]
; CHECK: delete.notnull.i:
; CHECK-NEXT: call void @_ZdlPv()
; CHECK-NEXT: unreachable
@@ -247,7 +253,7 @@ entry:
br i1 %tobool.i, label %_ZN1AI1CE5derefEv.exit, label %if.then.i
if.then.i: ; preds = %entry
- br i1 undef, label %_ZN1AI1CE5derefEv.exit, label %delete.notnull.i
+ br i1 %arg, label %_ZN1AI1CE5derefEv.exit, label %delete.notnull.i
delete.notnull.i: ; preds = %if.then.i
call void @_ZdlPv() #9
@@ -257,12 +263,14 @@ _ZN1AI1CE5derefEv.exit: ; preds = %entry, %if.then.i
ret void
}
-define void @_ZN1AI1CE5derefEv(ptr nocapture readonly %this) nounwind uwtable align 2 {
+define void @_ZN1AI1CE5derefEv(ptr nocapture readonly %this, i1 %arg) nounwind uwtable align 2 {
; CHECK-LABEL: @_ZN1AI1CE5derefEv(
; CHECK-NEXT: entry:
; CHECK-NEXT: [[TMP0:%.*]] = load i32, ptr [[THIS:%.*]], align 4
; CHECK-NEXT: [[TOBOOL:%.*]] = icmp eq i32 [[TMP0]], 0
; CHECK-NEXT: br i1 [[TOBOOL]], label [[IF_END:%.*]], label [[DELETE_NOTNULL:%.*]]
+; CHECK: if.then:
+; CHECK-NEXT: br i1 [[ARG:%.*]], label [[IF_END]], label [[DELETE_NOTNULL1:%.*]]
; CHECK: delete.notnull:
; CHECK-NEXT: call void @_ZdlPv()
; CHECK-NEXT: unreachable
@@ -275,7 +283,7 @@ entry:
br i1 %tobool, label %if.end, label %if.then
if.then: ; preds = %entry
- br i1 undef, label %if.end, label %delete.notnull
+ br i1 %arg, label %if.end, label %delete.notnull
delete.notnull: ; preds = %if.then
call void @_ZdlPv() #9
diff --git a/llvm/test/Transforms/JumpThreading/pr22086.ll b/llvm/test/Transforms/JumpThreading/pr22086.ll
index c7f9fcdbd34627..44ab88bb3ea5c6 100644
--- a/llvm/test/Transforms/JumpThreading/pr22086.ll
+++ b/llvm/test/Transforms/JumpThreading/pr22086.ll
@@ -3,12 +3,15 @@
-define void @f() {
-; CHECK-LABEL: define void @f() {
+define void @f(i1 %arg) {
+; CHECK-LABEL: define void @f(
+; CHECK-SAME: i1 [[ARG:%.*]]) {
; CHECK-NEXT: [[ENTRY:.*:]]
-; CHECK-NEXT: br label %[[LOR_RHS:.*]]
+; CHECK-NEXT: br label %[[FOR_COND1:.*]]
+; CHECK: [[FOR_COND1]]:
+; CHECK-NEXT: br i1 [[ARG]], label %[[LOR_RHS:.*]], label %[[LOR_RHS]]
; CHECK: [[LOR_RHS]]:
-; CHECK-NEXT: br label %[[LOR_RHS]]
+; CHECK-NEXT: br label %[[FOR_COND1]]
;
entry:
br label %for.cond1
@@ -23,7 +26,7 @@ if.end16:
for.cond1:
%g.1 = phi i32 [ 0, %entry ], [ 0, %lor.rhs ], [ %g.3, %if.end16 ]
- br i1 undef, label %lor.rhs, label %if.end16
+ br i1 %arg, label %lor.rhs, label %if.end16
lor.rhs:
br label %for.cond1
diff --git a/llvm/test/Transforms/JumpThreading/pr9331.ll b/llvm/test/Transforms/JumpThreading/pr9331.ll
index 572b1e558e0591..06c0a42bd849a5 100644
--- a/llvm/test/Transforms/JumpThreading/pr9331.ll
+++ b/llvm/test/Transforms/JumpThreading/pr9331.ll
@@ -13,17 +13,16 @@ entry:
for.cond2: ; preds = %for.inc46, %lor.end, %entry
%p_44.addr.1 = phi i8 [ %p_44.addr.1, %lor.end ], [ %p_44, %entry ], [ %p_44.addr.1, %for.inc46 ]
- br i1 undef, label %for.inc46, label %for.body5
+ br i1 true, label %for.inc46, label %for.body5
for.body5: ; preds = %for.cond2
- br i1 undef, label %lbl_465, label %if.then9
+ br i1 false, label %lbl_465, label %if.then9
if.then9: ; preds = %for.body5
br label %return
lbl_465: ; preds = %lbl_465, %for.body5
- %tobool19 = icmp eq i8 undef, 0
- br i1 %tobool19, label %if.end21, label %lbl_465
+ br i1 true, label %if.end21, label %lbl_465
if.end21: ; preds = %lbl_465
%conv23 = zext i8 %p_44.addr.1 to i64
diff --git a/llvm/test/Transforms/JumpThreading/preserving-debugloc-br.ll b/llvm/test/Transforms/JumpThreading/preserving-debugloc-br.ll
index ca67f0dec31ba0..521c697c712089 100644
--- a/llvm/test/Transforms/JumpThreading/preserving-debugloc-br.ll
+++ b/llvm/test/Transforms/JumpThreading/preserving-debugloc-br.ll
@@ -24,11 +24,10 @@ lor.rhs: ; preds = %entry
br label %lor.end, !dbg !10
lor.end: ; preds = %lor.rhs, %entry
- %cmp103 = xor i1 undef, undef, !dbg !11
- br i1 %cmp103, label %for.cond, label %if.then, !dbg !12
+ br i1 false, label %for.cond, label %if.then, !dbg !12
for.cond: ; preds = %for.body, %lor.end
- br i1 undef, label %if.then, label %for.body, !dbg !13
+ br i1 false, label %if.then, label %for.body, !dbg !13
for.body: ; preds = %for.cond
br label %for.cond, !dbg !14
diff --git a/llvm/test/Transforms/JumpThreading/unreachable-loops.ll b/llvm/test/Transforms/JumpThreading/unreachable-loops.ll
index 7b0dc4ad3ae783..d8bd3f389aae8a 100644
--- a/llvm/test/Transforms/JumpThreading/unreachable-loops.ll
+++ b/llvm/test/Transforms/JumpThreading/unreachable-loops.ll
@@ -94,7 +94,7 @@ declare i32 @a()
; This gets into a state that could cause instruction simplify
; to hang - an insertelement instruction has itself as an operand.
-define void @PR48362() {
+define void @PR48362(i1 %arg) {
;
; CHECK-LABEL: @PR48362(
; CHECK-NEXT: cleanup.cont1500:
@@ -142,7 +142,7 @@ for.body1911: ; preds = %if.else1904
br label %land.end2173
land.end2173: ; preds = %for.body1911
- br i1 undef, label %if.end2178, label %cleanup2297
+ br i1 %arg, label %if.end2178, label %cleanup2297
if.end2178: ; preds = %land.end2173
%l_580.sroa.0.2.vec.insert = insertelement <4 x i32> %l_580.sroa.0.0, i32 undef, i32 1
@@ -165,7 +165,7 @@ cleanup.cont2339: ; preds = %cleanup2329
br label %for.inc2340
for.inc2340: ; preds = %cleanup.cont2339
- br i1 undef, label %for.body1509, label %crit_edge115
+ br i1 %arg, label %for.body1509, label %crit_edge115
crit_edge114: ; preds = %cleanup2329
unreachable
diff --git a/llvm/test/Transforms/LCSSA/indirectbr.ll b/llvm/test/Transforms/LCSSA/indirectbr.ll
index 7ddfb6bfb223dc..a71696c091a698 100644
--- a/llvm/test/Transforms/LCSSA/indirectbr.ll
+++ b/llvm/test/Transforms/LCSSA/indirectbr.ll
@@ -4,25 +4,25 @@
; the loop, and the loop has exits with predecessors not within the loop
; (and btw these edges are unsplittable due to the indirectbr).
; PR5437
-define i32 @test0() nounwind {
+define i32 @test0(i1 %arg) nounwind {
; CHECK-LABEL: @test0
entry:
- br i1 undef, label %"4", label %"3"
+ br i1 %arg, label %"4", label %"3"
"3": ; preds = %entry
ret i32 0
"4": ; preds = %entry
- br i1 undef, label %"6", label %"5"
+ br i1 %arg, label %"6", label %"5"
"5": ; preds = %"4"
unreachable
"6": ; preds = %"4"
- br i1 undef, label %"10", label %"13"
+ br i1 %arg, label %"10", label %"13"
"10": ; preds = %"6"
- br i1 undef, label %"22", label %"15"
+ br i1 %arg, label %"22", label %"15"
"13": ; preds = %"6"
unreachable
@@ -393,7 +393,7 @@ entry:
unreachable
"1566": ; preds = %"23"
- br i1 undef, label %"1569", label %"1568"
+ br i1 %arg, label %"1569", label %"1568"
"1568": ; preds = %"1566"
unreachable
@@ -545,13 +545,13 @@ entry:
; create PHIs in one of such exits we are also inserting PHIs in L2 header. This
; could break LCSSA form for L2 because these inserted PHIs can also have uses
; in L2 exits. Test that we don't assert/crash on that.
-define void @test1() {
+define void @test1(i1 %arg) {
; CHECK-LABEL: @test1
br label %lab1
lab1:
%tmp21 = add i32 undef, 677038203
- br i1 undef, label %lab2, label %exit
+ br i1 %arg, label %lab2, label %exit
lab2:
indirectbr ptr undef, [label %lab1, label %lab3]
@@ -559,7 +559,7 @@ lab2:
lab3:
; CHECK: %tmp21.lcssa1 = phi i32 [ %tmp21.lcssa1, %lab4 ], [ %tmp2...
[truncated]
|
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/30/builds/10538 Here is the relevant piece of the build log for the reference
|
This PR removes tests with br i1 undef under
llvm/tests/Transforms/JumpThreading, LCSSA, LICM, LoopDeletion, LoopIdiom
.@nunoplopes @regehr