aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Transforms/SimplifyCFG/branch-phi-thread.ll20
1 files changed, 19 insertions, 1 deletions
diff --git a/test/Transforms/SimplifyCFG/branch-phi-thread.ll b/test/Transforms/SimplifyCFG/branch-phi-thread.ll
index 9098376ba4..2da837d73b 100644
--- a/test/Transforms/SimplifyCFG/branch-phi-thread.ll
+++ b/test/Transforms/SimplifyCFG/branch-phi-thread.ll
@@ -1,4 +1,5 @@
-; RUN: llvm-as < %s | opt -simplifycfg -adce | llvm-dis | not grep 'call void %f1'
+; RUN: llvm-as < %s | opt -simplifycfg -adce | llvm-dis | not grep 'call void %f1' &&
+; RUN: llvm-as < %s | opt -simplifycfg -adce -disable-output
declare void %f1()
declare void %f2()
declare void %f3()
@@ -6,6 +7,23 @@ declare void %f4()
implementation
+int %test1(int %X, bool %D) {
+E:
+ %C = seteq int %X, 0
+ br bool %C, label %T, label %F
+T:
+ br bool %C, label %B, label %A
+A:
+ call void %f1()
+ br bool %D, label %T, label %F
+B:
+ call void %f2()
+ ret int 345
+F:
+ call void %f3()
+ ret int 123
+}
+
int %test2(int %X, bool %D) {
E:
%C = seteq int %X, 0