[llvm] [llvm] Remove `br i1 undef` from regression tests (PR #116739)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 18 20:02:11 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-transforms
Author: Lee Wei (leewei05)
<details>
<summary>Changes</summary>
This PR removes tests with br i1 undef under `llvm/tests/Transforms/JumpThreading, LCSSA, LICM, LoopDeletion, LoopIdiom`.
@<!-- -->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:
- (modified) llvm/test/Transforms/JumpThreading/PR33357-lvi-recursion.ll (+1-1)
- (modified) llvm/test/Transforms/JumpThreading/basic.ll (+1-2)
- (modified) llvm/test/Transforms/JumpThreading/crash.ll (+11-11)
- (modified) llvm/test/Transforms/JumpThreading/ddt-crash.ll (+6-4)
- (modified) llvm/test/Transforms/JumpThreading/ddt-crash4.ll (+24-8)
- (modified) llvm/test/Transforms/JumpThreading/landing-pad.ll (+16-8)
- (modified) llvm/test/Transforms/JumpThreading/pr22086.ll (+8-5)
- (modified) llvm/test/Transforms/JumpThreading/pr9331.ll (+3-4)
- (modified) llvm/test/Transforms/JumpThreading/preserving-debugloc-br.ll (+2-3)
- (modified) llvm/test/Transforms/JumpThreading/unreachable-loops.ll (+3-3)
- (modified) llvm/test/Transforms/LCSSA/indirectbr.ll (+9-9)
- (modified) llvm/test/Transforms/LCSSA/invoke-dest.ll (+9-9)
- (modified) llvm/test/Transforms/LCSSA/pr28424.ll (+9-9)
- (modified) llvm/test/Transforms/LCSSA/pr28608.ll (+3-3)
- (modified) llvm/test/Transforms/LCSSA/remove-phis.ll (+9-9)
- (modified) llvm/test/Transforms/LCSSA/unused-phis.ll (+4-4)
- (modified) llvm/test/Transforms/LICM/2009-12-10-LICM-Indbr-Crash.ll (+5-5)
- (modified) llvm/test/Transforms/LICM/alias-set-tracker-loss.ll (+2-2)
- (modified) llvm/test/Transforms/LICM/assume.ll (+6-6)
- (modified) llvm/test/Transforms/LICM/callbr-crash.ll (+3-3)
- (modified) llvm/test/Transforms/LICM/crash.ll (+2-2)
- (modified) llvm/test/Transforms/LICM/debug-value.ll (+6-6)
- (modified) llvm/test/Transforms/LICM/gc-relocate.ll (+4-4)
- (modified) llvm/test/Transforms/LICM/hoist-phi.ll (+41-41)
- (modified) llvm/test/Transforms/LICM/lcssa-ssa-promoter.ll (+9-9)
- (modified) llvm/test/Transforms/LICM/loopsink-pr39570.ll (+3-3)
- (modified) llvm/test/Transforms/LICM/outer-loop-deleted-before-licm.ll (+1-1)
- (modified) llvm/test/Transforms/LICM/pr32129.ll (+9-4)
- (modified) llvm/test/Transforms/LICM/pr37323.ll (+5-5)
- (modified) llvm/test/Transforms/LICM/pr38513.ll (+3-3)
- (modified) llvm/test/Transforms/LICM/pr50367.ll (+3-3)
- (modified) llvm/test/Transforms/LICM/sink-promote.ll (+6-6)
- (modified) llvm/test/Transforms/LICM/sinking.ll (+10-10)
- (modified) llvm/test/Transforms/LoopDeletion/2011-06-21-phioperands.ll (+24-24)
- (modified) llvm/test/Transforms/LoopDeletion/2017-07-11-incremental-dt.ll (+4-4)
- (modified) llvm/test/Transforms/LoopDeletion/bbi-59728.ll (+1-1)
- (modified) llvm/test/Transforms/LoopDeletion/crashbc.ll (+2-2)
- (modified) llvm/test/Transforms/LoopDeletion/pr53969.ll (+2-2)
- (modified) llvm/test/Transforms/LoopDeletion/simplify-then-delete.ll (+2-2)
- (modified) llvm/test/Transforms/LoopIdiom/non-canonical-loop.ll (+3-3)
- (modified) llvm/test/Transforms/LoopIdiom/scev-invalidation_topmostloop.ll (+4-4)
``````````diff
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]
``````````
</details>
https://github.com/llvm/llvm-project/pull/116739
More information about the llvm-commits
mailing list