[llvm] [llvm] Remove `br i1 undef` from regression tests (PR #117292)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 21 22:27:46 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/MemCpyOpt, MergedLoadStoreMotion, NewGVN`.
I've observed that`NewGVN` pass will create a store poison instruction for unreachable basic block.
https://github.com/llvm/llvm-project/blob/0e3c791916a918cd2d7391ddb633fbe5faa00b86/llvm/lib/Transforms/Scalar/NewGVN.cpp#L3764-L3770
@<!-- -->nunoplopes @<!-- -->regehr
---
Patch is 91.16 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/117292.diff
39 Files Affected:
- (modified) llvm/test/Transforms/MemCpyOpt/aa-recursion-assertion-failure.ll (+5-5)
- (modified) llvm/test/Transforms/MergedLoadStoreMotion/st_sink_debuginvariant.ll (+2-2)
- (modified) llvm/test/Transforms/NewGVN/2010-03-31-RedundantPHIs.ll (+13-10)
- (modified) llvm/test/Transforms/NewGVN/2010-05-08-OneBit.ll (+4-4)
- (modified) llvm/test/Transforms/NewGVN/2011-04-27-phioperands.ll (+11-11)
- (modified) llvm/test/Transforms/NewGVN/2012-05-22-PreCrash.ll (+3-3)
- (modified) llvm/test/Transforms/NewGVN/basic-cyclic-opt.ll (+10-10)
- (modified) llvm/test/Transforms/NewGVN/completeness.ll (+9-9)
- (modified) llvm/test/Transforms/NewGVN/crash.ll (+12-12)
- (modified) llvm/test/Transforms/NewGVN/deadstore.ll (+3-3)
- (modified) llvm/test/Transforms/NewGVN/eliminate-ssacopy.ll (+9-12)
- (modified) llvm/test/Transforms/NewGVN/metadata-nonnull.ll (+20-20)
- (modified) llvm/test/Transforms/NewGVN/phi-of-ops-move-block.ll (+3-3)
- (modified) llvm/test/Transforms/NewGVN/phi-of-ops-simplification-dependencies.ll (+3-3)
- (modified) llvm/test/Transforms/NewGVN/pr25440.ll (+25-23)
- (modified) llvm/test/Transforms/NewGVN/pr31594.ll (+6-5)
- (modified) llvm/test/Transforms/NewGVN/pr31613.ll (+8-7)
- (modified) llvm/test/Transforms/NewGVN/pr31682.ll (+3-3)
- (modified) llvm/test/Transforms/NewGVN/pr32403.ll (+11-8)
- (modified) llvm/test/Transforms/NewGVN/pr32838.ll (+20-21)
- (modified) llvm/test/Transforms/NewGVN/pr32845.ll (+6-7)
- (modified) llvm/test/Transforms/NewGVN/pr32897.ll (+3-3)
- (modified) llvm/test/Transforms/NewGVN/pr32934.ll (+4-4)
- (modified) llvm/test/Transforms/NewGVN/pr33014.ll (+6-6)
- (modified) llvm/test/Transforms/NewGVN/pr33086.ll (+4-4)
- (modified) llvm/test/Transforms/NewGVN/pr33116.ll (+5-5)
- (modified) llvm/test/Transforms/NewGVN/pr33187.ll (+15-15)
- (modified) llvm/test/Transforms/NewGVN/pr33204.ll (+5-5)
- (modified) llvm/test/Transforms/NewGVN/pr33432.ll (+3-3)
- (modified) llvm/test/Transforms/NewGVN/pr33720.ll (+7-7)
- (modified) llvm/test/Transforms/NewGVN/pr34430.ll (+5-5)
- (modified) llvm/test/Transforms/NewGVN/pr35074.ll (+3-3)
- (modified) llvm/test/Transforms/NewGVN/pr42422-phi-of-ops.ll (+13-17)
- (modified) llvm/test/Transforms/NewGVN/pr43441.ll (+10-6)
- (modified) llvm/test/Transforms/NewGVN/pre-new-inst-xfail.ll (+2-2)
- (modified) llvm/test/Transforms/NewGVN/predicates.ll (+4-5)
- (modified) llvm/test/Transforms/NewGVN/refine-stores.ll (+14-14)
- (modified) llvm/test/Transforms/NewGVN/stale-loop-info.ll (+4-3)
- (modified) llvm/test/Transforms/NewGVN/unreachable_block_infinite_loop.ll (+4-4)
``````````diff
diff --git a/llvm/test/Transforms/MemCpyOpt/aa-recursion-assertion-failure.ll b/llvm/test/Transforms/MemCpyOpt/aa-recursion-assertion-failure.ll
index 80fa9b124e59d4..1b997e8c4f884a 100644
--- a/llvm/test/Transforms/MemCpyOpt/aa-recursion-assertion-failure.ll
+++ b/llvm/test/Transforms/MemCpyOpt/aa-recursion-assertion-failure.ll
@@ -6,7 +6,7 @@ source_filename = "test.cpp"
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-unknown-linux-android21"
-define dso_local void @_Z1ml(i64 %e) {
+define dso_local void @_Z1ml(i64 %e, i1 %arg) {
; CHECK-LABEL: @_Z1ml(
; CHECK-NEXT: entry:
; CHECK-NEXT: [[L:%.*]] = alloca i8, align 1
@@ -20,7 +20,7 @@ define dso_local void @_Z1ml(i64 %e) {
; CHECK: while.cond:
; CHECK-NEXT: [[TMP1]] = phi ptr [ [[L]], [[ENTRY:%.*]] ], [ [[TMP0]], [[WHILE_COND_LOOPEXIT]] ]
; CHECK-NEXT: [[I_0]] = phi ptr [ [[L]], [[ENTRY]] ], [ [[I_1_LCSSA]], [[WHILE_COND_LOOPEXIT]] ]
-; CHECK-NEXT: br i1 undef, label [[FOR_BODY_LR_PH:%.*]], label [[WHILE_COND_LOOPEXIT]]
+; CHECK-NEXT: br i1 [[ARG:%.*]], label [[FOR_BODY_LR_PH:%.*]], label [[WHILE_COND_LOOPEXIT]]
; CHECK: for.body.lr.ph:
; CHECK-NEXT: br label [[FOR_BODY:%.*]]
; CHECK: for.body:
@@ -32,7 +32,7 @@ define dso_local void @_Z1ml(i64 %e) {
; CHECK-NEXT: store i8 [[TMP4]], ptr [[TMP2]], align 1
; CHECK-NEXT: br label [[_Z1DPCS_L_EXIT:%.*]]
; CHECK: _Z1dPcS_l.exit:
-; CHECK-NEXT: br i1 undef, label [[IF_THEN3:%.*]], label [[IF_END5]]
+; CHECK-NEXT: br i1 [[ARG]], label [[IF_THEN3:%.*]], label [[IF_END5]]
; CHECK: if.then3:
; CHECK-NEXT: [[ADD_PTR4:%.*]] = getelementptr inbounds i8, ptr [[I_15]], i64 [[E]]
; CHECK-NEXT: br label [[IF_END5]]
@@ -55,7 +55,7 @@ while.cond.loopexit: ; preds = %while.cond, %for.co
while.cond: ; preds = %while.cond.loopexit, %entry
%1 = phi ptr [ %l, %entry ], [ %0, %while.cond.loopexit ]
%i.0 = phi ptr [ %l, %entry ], [ %i.1.lcssa, %while.cond.loopexit ]
- br i1 undef, label %for.body.lr.ph, label %while.cond.loopexit
+ br i1 %arg, label %for.body.lr.ph, label %while.cond.loopexit
for.body.lr.ph: ; preds = %while.cond
br label %for.body
@@ -70,7 +70,7 @@ for.body: ; preds = %if.end5, %for.body.
br label %_Z1dPcS_l.exit
_Z1dPcS_l.exit: ; preds = %for.body
- br i1 undef, label %if.then3, label %if.end5
+ br i1 %arg, label %if.then3, label %if.end5
if.then3: ; preds = %_Z1dPcS_l.exit
%add.ptr4 = getelementptr inbounds i8, ptr %i.15, i64 %e
diff --git a/llvm/test/Transforms/MergedLoadStoreMotion/st_sink_debuginvariant.ll b/llvm/test/Transforms/MergedLoadStoreMotion/st_sink_debuginvariant.ll
index a9373fab22ca77..86cf7117b6da10 100644
--- a/llvm/test/Transforms/MergedLoadStoreMotion/st_sink_debuginvariant.ll
+++ b/llvm/test/Transforms/MergedLoadStoreMotion/st_sink_debuginvariant.ll
@@ -18,9 +18,9 @@
@g_173 = dso_local local_unnamed_addr global i16 0, !dbg !0
; Function Attrs: noinline norecurse nounwind
-define dso_local void @func_34(ptr noalias sret(%struct.S0) %agg.result) local_unnamed_addr #0 !dbg !11 {
+define dso_local void @func_34(ptr noalias sret(%struct.S0) %agg.result, i1 %arg) local_unnamed_addr #0 !dbg !11 {
entry:
- br i1 undef, label %if.end, label %if.then, !dbg !18
+ br i1 %arg, label %if.end, label %if.then, !dbg !18
if.then: ; preds = %entry
call void @llvm.dbg.value(metadata i16 5, metadata !19, metadata !DIExpression()), !dbg !22
diff --git a/llvm/test/Transforms/NewGVN/2010-03-31-RedundantPHIs.ll b/llvm/test/Transforms/NewGVN/2010-03-31-RedundantPHIs.ll
index c6fc7b99cdf8df..14a16a05e74ae7 100644
--- a/llvm/test/Transforms/NewGVN/2010-03-31-RedundantPHIs.ll
+++ b/llvm/test/Transforms/NewGVN/2010-03-31-RedundantPHIs.ll
@@ -4,42 +4,45 @@
; CHECK-NOT: load
; CHECK-NOT: phi
-define ptr @cat(ptr %s1, ...) nounwind {
+define ptr @cat(ptr %s1, i1 %arg, ...) nounwind {
; CHECK-LABEL: define ptr @cat(
-; CHECK-SAME: ptr [[S1:%.*]], ...) #[[ATTR0:[0-9]+]] {
+; CHECK-SAME: ptr [[S1:%.*]], i1 [[ARG:%.*]], ...) #[[ATTR0:[0-9]+]] {
; CHECK-NEXT: entry:
-; CHECK-NEXT: br i1 undef, label [[BB:%.*]], label [[BB3:%.*]]
+; CHECK-NEXT: br i1 false, label [[BB:%.*]], label [[BB3:%.*]]
; CHECK: bb:
+; CHECK-NEXT: store i8 poison, ptr null, align 1
; CHECK-NEXT: unreachable
; CHECK: bb3:
; CHECK-NEXT: store ptr undef, ptr undef, align 4
-; CHECK-NEXT: br i1 undef, label [[BB5:%.*]], label [[BB6:%.*]]
+; CHECK-NEXT: br i1 false, label [[BB5:%.*]], label [[BB6:%.*]]
; CHECK: bb5:
+; CHECK-NEXT: store i8 poison, ptr null, align 1
; CHECK-NEXT: unreachable
; CHECK: bb6:
; CHECK-NEXT: br label [[BB12:%.*]]
; CHECK: bb8:
-; CHECK-NEXT: br i1 undef, label [[BB9:%.*]], label [[BB10:%.*]]
+; CHECK-NEXT: br i1 true, label [[BB9:%.*]], label [[BB10:%.*]]
; CHECK: bb9:
; CHECK-NEXT: br label [[BB11:%.*]]
; CHECK: bb10:
+; CHECK-NEXT: store i8 poison, ptr null, align 1
; CHECK-NEXT: br label [[BB11]]
; CHECK: bb11:
; CHECK-NEXT: br label [[BB12]]
; CHECK: bb12:
-; CHECK-NEXT: br i1 undef, label [[BB8:%.*]], label [[BB13:%.*]]
+; CHECK-NEXT: br i1 [[ARG]], label [[BB8:%.*]], label [[BB13:%.*]]
; CHECK: bb13:
; CHECK-NEXT: ret ptr undef
;
entry:
- br i1 undef, label %bb, label %bb3
+ br i1 false, label %bb, label %bb3
bb: ; preds = %entry
unreachable
bb3: ; preds = %entry
store ptr undef, ptr undef, align 4
- br i1 undef, label %bb5, label %bb6
+ br i1 false, label %bb5, label %bb6
bb5: ; preds = %bb3
unreachable
@@ -48,7 +51,7 @@ bb6: ; preds = %bb3
br label %bb12
bb8: ; preds = %bb12
- br i1 undef, label %bb9, label %bb10
+ br i1 %arg, label %bb9, label %bb10
bb9: ; preds = %bb8
%0 = load ptr, ptr undef, align 4 ; <ptr> [#uses=0]
@@ -62,7 +65,7 @@ bb11: ; preds = %bb10, %bb9
br label %bb12
bb12: ; preds = %bb11, %bb6
- br i1 undef, label %bb8, label %bb13
+ br i1 %arg, label %bb8, label %bb13
bb13: ; preds = %bb12
ret ptr undef
diff --git a/llvm/test/Transforms/NewGVN/2010-05-08-OneBit.ll b/llvm/test/Transforms/NewGVN/2010-05-08-OneBit.ll
index 0a121ffab761f4..ebc89c5c5489aa 100644
--- a/llvm/test/Transforms/NewGVN/2010-05-08-OneBit.ll
+++ b/llvm/test/Transforms/NewGVN/2010-05-08-OneBit.ll
@@ -5,11 +5,11 @@
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"
target triple = "x86_64-unknown-linux-gnu"
-define i32 @main(i32 %argc, ptr nocapture %argv) personality ptr @__gxx_personality_v0 {
+define i32 @main(i32 %argc, ptr nocapture %argv, i1 %arg, i32 %arg2) personality ptr @__gxx_personality_v0 {
entry:
%0 = getelementptr inbounds i8, ptr undef, i64 5 ; <ptr> [#uses=1]
store i32 undef, ptr %0, align 1
- br i1 undef, label %k121.i.i, label %l117.i.i
+ br i1 %arg, label %k121.i.i, label %l117.i.i
l117.i.i: ; preds = %entry
invoke fastcc void @foo()
@@ -19,7 +19,7 @@ l117.i.i: ; preds = %entry
unreachable
k121.i.i: ; preds = %entry
- br i1 undef, label %l129.i.i, label %k133.i.i
+ br i1 %arg, label %l129.i.i, label %k133.i.i
l129.i.i: ; preds = %k121.i.i
invoke fastcc void @foo()
@@ -46,7 +46,7 @@ k151.i.i: ; preds = %k133.i.i
landing_pad: ; preds = %l147.i.i, %l129.i.i, %l117.i.i
%exn = landingpad {ptr, i32}
cleanup
- switch i32 undef, label %fin [
+ switch i32 %arg2, label %fin [
i32 1, label %catch1
i32 2, label %catch
]
diff --git a/llvm/test/Transforms/NewGVN/2011-04-27-phioperands.ll b/llvm/test/Transforms/NewGVN/2011-04-27-phioperands.ll
index c039422be84ed1..31b674d03b5e27 100644
--- a/llvm/test/Transforms/NewGVN/2011-04-27-phioperands.ll
+++ b/llvm/test/Transforms/NewGVN/2011-04-27-phioperands.ll
@@ -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
@nuls = external global [10 x i8]
-define fastcc void @p_ere() nounwind {
+define fastcc void @p_ere(i1 %arg, i32 %arg2) nounwind {
entry:
br label %"<bb 5>"
"<L18>.i":
- br i1 undef, label %"<bb 3>.i30.i", label %doemit.exit51.i
+ br i1 %arg, label %"<bb 3>.i30.i", label %doemit.exit51.i
"<bb 3>.i30.i":
unreachable
@@ -19,7 +19,7 @@ doemit.exit51.i:
br label %"<bb 53>.i"
"<L19>.i":
- br i1 undef, label %"<bb 3>.i55.i", label %doemit.exit76.i
+ br i1 %arg, label %"<bb 3>.i55.i", label %doemit.exit76.i
"<bb 3>.i55.i":
unreachable
@@ -35,7 +35,7 @@ doemit.exit76.i:
br label %"<bb 53>.i"
"<L24>.i":
- br i1 undef, label %"<bb 53>.i", label %"<bb 35>.i"
+ br i1 %arg, label %"<bb 53>.i", label %"<bb 35>.i"
"<bb 35>.i":
br label %"<bb 53>.i"
@@ -52,19 +52,19 @@ doemit.exit76.i:
"<bb 53>.i":
%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" ]
%D.5496_84.i = load ptr, ptr undef, align 8
- br i1 undef, label %"<bb 54>.i", label %"<bb 5>"
+ br i1 %arg, label %"<bb 54>.i", label %"<bb 5>"
"<bb 54>.i":
- br i1 undef, label %"<bb 5>", label %"<bb 58>.i"
+ br i1 %arg, label %"<bb 5>", label %"<bb 58>.i"
"<bb 58>.i":
- br i1 undef, label %"<bb 64>.i", label %"<bb 59>.i"
+ br i1 %arg, label %"<bb 64>.i", label %"<bb 59>.i"
"<bb 59>.i":
br label %"<bb 64>.i"
"<bb 64>.i":
- switch i32 undef, label %"<bb 5>" [
+ switch i32 %arg2, label %"<bb 5>" [
i32 42, label %"<L54>.i"
i32 43, label %"<L55>.i"
i32 63, label %"<L56>.i"
@@ -72,7 +72,7 @@ doemit.exit76.i:
]
"<L54>.i":
- br i1 undef, label %"<bb 3>.i105.i", label %doemit.exit127.i
+ br i1 %arg, label %"<bb 3>.i105.i", label %doemit.exit127.i
"<bb 3>.i105.i":
unreachable
@@ -81,7 +81,7 @@ doemit.exit127.i:
unreachable
"<L55>.i":
- br i1 undef, label %"<bb 3>.i157.i", label %"<bb 5>"
+ br i1 %arg, label %"<bb 3>.i157.i", label %"<bb 5>"
"<bb 3>.i157.i":
unreachable
@@ -93,7 +93,7 @@ doemit.exit127.i:
unreachable
"<bb 5>":
- switch i32 undef, label %"<L39>.i" [
+ switch i32 %arg2, label %"<L39>.i" [
i32 36, label %"<L19>.i"
i32 94, label %"<L18>.i"
i32 124, label %"<L98>.i"
diff --git a/llvm/test/Transforms/NewGVN/2012-05-22-PreCrash.ll b/llvm/test/Transforms/NewGVN/2012-05-22-PreCrash.ll
index 1357f2b809f748..3e7e9bdf2ce7d7 100644
--- a/llvm/test/Transforms/NewGVN/2012-05-22-PreCrash.ll
+++ b/llvm/test/Transforms/NewGVN/2012-05-22-PreCrash.ll
@@ -2,9 +2,9 @@
; RUN: opt < %s -passes=newgvn
; PR12858
-define void @fn5(i16 signext %p1, i8 signext %p2) nounwind uwtable {
+define void @fn5(i16 signext %p1, i8 signext %p2, i1 %arg) nounwind uwtable {
entry:
- br i1 undef, label %if.else, label %if.then
+ br i1 %arg, label %if.else, label %if.then
if.then: ; preds = %entry
br label %if.end
@@ -15,7 +15,7 @@ if.else: ; preds = %entry
if.end: ; preds = %if.else, %if.then
%conv1 = sext i16 %p1 to i32
- br i1 undef, label %if.then3, label %if.else4
+ br i1 %arg, label %if.then3, label %if.else4
if.then3: ; preds = %if.end
br label %if.end12
diff --git a/llvm/test/Transforms/NewGVN/basic-cyclic-opt.ll b/llvm/test/Transforms/NewGVN/basic-cyclic-opt.ll
index 53190466963a19..1cf9fd90095642 100644
--- a/llvm/test/Transforms/NewGVN/basic-cyclic-opt.ll
+++ b/llvm/test/Transforms/NewGVN/basic-cyclic-opt.ll
@@ -242,21 +242,21 @@ bb23: ; preds = %bb4
;; Both loads should equal 0, but it requires being
;; completely optimistic about MemoryPhis, otherwise
;; we will not be able to see through the cycle.
-define i8 @irreducible_memoryphi(ptr noalias %arg, ptr noalias %arg2) {
+define i8 @irreducible_memoryphi(ptr noalias %arg, ptr noalias %arg2, i1 %arg3) {
; CHECK-LABEL: @irreducible_memoryphi(
; CHECK-NEXT: bb:
; CHECK-NEXT: store i8 0, ptr [[ARG:%.*]], align 1
-; CHECK-NEXT: br i1 undef, label [[BB2:%.*]], label [[BB1:%.*]]
+; CHECK-NEXT: br i1 [[ARG3:%.*]], label [[BB2:%.*]], label [[BB1:%.*]]
; CHECK: bb1:
; CHECK-NEXT: br label [[BB2]]
; CHECK: bb2:
-; CHECK-NEXT: br i1 undef, label [[BB1]], label [[BB3:%.*]]
+; CHECK-NEXT: br i1 [[ARG3]], label [[BB1]], label [[BB3:%.*]]
; CHECK: bb3:
; CHECK-NEXT: ret i8 0
;
bb:
store i8 0, ptr %arg
- br i1 undef, label %bb2, label %bb1
+ br i1 %arg3, label %bb2, label %bb1
bb1: ; preds = %bb2, %bb
br label %bb2
@@ -264,7 +264,7 @@ bb1: ; preds = %bb2, %bb
bb2: ; preds = %bb1, %bb
%tmp2 = load i8, ptr %arg
store i8 0, ptr %arg
- br i1 undef, label %bb1, label %bb3
+ br i1 %arg3, label %bb1, label %bb3
bb3: ; preds = %bb2
%tmp = load i8, ptr %arg
@@ -277,20 +277,20 @@ bb3: ; preds = %bb2
;; It should return 0, but it requires being
;; completely optimistic about phis, otherwise
;; we will not be able to see through the cycle.
-define i32 @irreducible_phi(i32 %arg) {
+define i32 @irreducible_phi(i32 %arg, i1 %arg2) {
; CHECK-LABEL: @irreducible_phi(
; CHECK-NEXT: bb:
-; CHECK-NEXT: br i1 undef, label [[BB2:%.*]], label [[BB1:%.*]]
+; CHECK-NEXT: br i1 [[ARG2:%.*]], label [[BB2:%.*]], label [[BB1:%.*]]
; CHECK: bb1:
; CHECK-NEXT: br label [[BB2]]
; CHECK: bb2:
-; CHECK-NEXT: br i1 undef, label [[BB1]], label [[BB3:%.*]]
+; CHECK-NEXT: br i1 [[ARG2]], label [[BB1]], label [[BB3:%.*]]
; CHECK: bb3:
; CHECK-NEXT: ret i32 0
;
bb:
%tmp = add i32 0, %arg
- br i1 undef, label %bb2, label %bb1
+ br i1 %arg2, label %bb2, label %bb1
bb1: ; preds = %bb2, %bb
%phi1 = phi i32 [%tmp, %bb], [%phi2, %bb2]
@@ -298,7 +298,7 @@ bb1: ; preds = %bb2, %bb
bb2: ; preds = %bb1, %bb
%phi2 = phi i32 [%tmp, %bb], [%phi1, %bb1]
- br i1 undef, label %bb1, label %bb3
+ br i1 %arg2, label %bb1, label %bb3
bb3: ; preds = %bb2
; This should be zero
diff --git a/llvm/test/Transforms/NewGVN/completeness.ll b/llvm/test/Transforms/NewGVN/completeness.ll
index 17592ffaf5d432..5585d2bf1e678f 100644
--- a/llvm/test/Transforms/NewGVN/completeness.ll
+++ b/llvm/test/Transforms/NewGVN/completeness.ll
@@ -386,12 +386,12 @@ bb1: ; preds = %bb1, %bb
;; Make sure we handle the case where we later come up with an expression that we need
;; for a phi of ops.
-define void @test9() {
+define void @test9(i1 %arg) {
; CHECK-LABEL: @test9(
; CHECK-NEXT: bb:
; CHECK-NEXT: br label [[BB1:%.*]]
; CHECK: bb1:
-; CHECK-NEXT: br i1 undef, label [[BB1]], label [[BB2:%.*]]
+; CHECK-NEXT: br i1 [[ARG:%.*]], label [[BB1]], label [[BB2:%.*]]
; CHECK: bb2:
; CHECK-NEXT: br label [[BB6:%.*]]
; CHECK: bb6:
@@ -405,7 +405,7 @@ bb:
br label %bb1
bb1: ; preds = %bb1, %bb
- br i1 undef, label %bb1, label %bb2
+ br i1 %arg, label %bb1, label %bb2
bb2: ; preds = %bb1
%tmp = select i1 true, i32 -14, i32 -10
@@ -426,7 +426,7 @@ bb6: ; preds = %bb6, %bb2
}
;; Ensure that we revisit predicateinfo operands at the right points in time.
-define void @test10() {
+define void @test10(i1 %arg) {
; CHECK-LABEL: @test10(
; CHECK-NEXT: b:
; CHECK-NEXT: br label [[G:%.*]]
@@ -436,7 +436,7 @@ define void @test10() {
; CHECK-NEXT: [[J:%.*]] = icmp eq ptr [[H]], inttoptr (i64 32 to ptr)
; CHECK-NEXT: br i1 [[J]], label [[C:%.*]], label [[I]]
; CHECK: i:
-; CHECK-NEXT: br i1 undef, label [[K:%.*]], label [[G]]
+; CHECK-NEXT: br i1 [[ARG:%.*]], label [[K:%.*]], label [[G]]
; CHECK: k:
; CHECK-NEXT: br i1 false, label [[C]], label [[O:%.*]]
; CHECK: o:
@@ -455,7 +455,7 @@ g: ; preds = %i, %b
br i1 %j, label %c, label %i
i: ; preds = %g
- br i1 undef, label %k, label %g
+ br i1 %arg, label %k, label %g
k: ; preds = %i
%l = icmp eq ptr %n, %m
@@ -470,10 +470,10 @@ c: ; preds = %o, %k, %g
}
;; Ensure we handle VariableExpression properly.
-define void @test11() {
+define void @test11(i1 %arg) {
; CHECK-LABEL: @test11(
; CHECK-NEXT: bb:
-; CHECK-NEXT: br i1 undef, label [[BB1:%.*]], label [[BB2:%.*]]
+; CHECK-NEXT: br i1 [[ARG:%.*]], label [[BB1:%.*]], label [[BB2:%.*]]
; CHECK: bb1:
; CHECK-NEXT: br label [[BB2]]
; CHECK: bb2:
@@ -488,7 +488,7 @@ define void @test11() {
; CHECK-NEXT: ret void
;
bb:
- br i1 undef, label %bb1, label %bb2
+ br i1 %arg, label %bb1, label %bb2
bb1: ; preds = %bb
br label %bb2
diff --git a/llvm/test/Transforms/NewGVN/crash.ll b/llvm/test/Transforms/NewGVN/crash.ll
index 26eaa766a05434..02edc2ff8da7e2 100644
--- a/llvm/test/Transforms/NewGVN/crash.ll
+++ b/llvm/test/Transforms/NewGVN/crash.ll
@@ -6,9 +6,9 @@
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"
target triple = "x86_64-apple-darwin10.0"
-define ptr @test1(ptr %name, i32 %namelen, ptr %o, i32 %expected_type) nounwind ssp {
+define ptr @test1(ptr %name, i32 %namelen, ptr %o, i32 %expected_type, i1 %arg) nounwind ssp {
entry:
- br i1 undef, label %if.end13, label %while.body.preheader
+ br i1 %arg, label %if.end13, label %while.body.preheader
if.end13: ; preds = %if.then6
@@ -23,25 +23,25 @@ while.body: ; preds = %while.body.backedge
lor.lhs.false: ; preds = %while.body
%tmp22 = load i32, ptr %o.addr.0 ; <i32> [#uses=0]
- br i1 undef, label %land.lhs.true24, label %if.end31
+ br i1 %arg, label %land.lhs.true24, label %if.end31
land.lhs.true24: ; preds = %lor.lhs.false
%call28 = call ptr @parse_object(ptr undef) nounwind ; <ptr> [#uses=0]
- br i1 undef, label %return.loopexit, label %if.end31
+ br i1 %arg, label %return.loopexit, label %if.end31
if.end31: ; preds = %land.lhs.true24, %lor.lhs.false
- br i1 undef, label %return.loopexit, label %if.end41
+ br i1 %arg, label %return.loopexit, label %if.end41
if.end41: ; preds = %if.end31
%tmp45 = load i32, ptr %o.addr.0 ; <i32> [#uses=0]
- br i1 undef, label %if.then50, label %if.else
+ br i1 %arg, label %if.then50, label %if.else
if.then50: ; preds = %if.end41
%tmp53 = load ptr, ptr undef ; <ptr> [#uses=1]
br label %while.body.backedge
if.else: ; preds = %if.end...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/117292
More information about the llvm-commits
mailing list