diff options
Diffstat (limited to 'llvm/test/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll')
-rw-r--r-- | llvm/test/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll | 30 |
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 +} |