summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll')
-rw-r--r--llvm/test/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll30
1 files changed, 30 insertions, 0 deletions
diff --git a/llvm/test/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll b/llvm/test/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll
new file mode 100644
index 00000000000..e88660a1fb9
--- /dev/null
+++ b/llvm/test/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll
@@ -0,0 +1,30 @@
+; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \
+; RUN: grep "%X.1.s.lcssa" &&
+; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \
+; RUN: not grep "%X.1.s.lcssa1"
+
+declare bool %c1()
+declare bool %c2()
+
+int %foo() {
+entry:
+ br label %loop_begin
+
+loop_begin:
+ br bool true, label %loop_body.1, label %loop_exit2
+
+loop_body.1:
+ %X.1 = add int 0, 1
+ %rel.1 = call bool %c1()
+ br bool %rel.1, label %loop_exit, label %loop_body.2
+
+loop_body.2:
+ %rel.2 = call bool %c2()
+ br bool %rel.2, label %loop_exit, label %loop_begin
+
+loop_exit:
+ ret int %X.1
+
+loop_exit2:
+ ret int 1
+}
OpenPOWER on IntegriCloud