diff options
Diffstat (limited to 'llvm/test/Transforms/SimplifyCFG/2003-08-17-BranchFold.ll')
-rw-r--r-- | llvm/test/Transforms/SimplifyCFG/2003-08-17-BranchFold.ll | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SimplifyCFG/2003-08-17-BranchFold.ll b/llvm/test/Transforms/SimplifyCFG/2003-08-17-BranchFold.ll new file mode 100644 index 00000000000..523205b8b93 --- /dev/null +++ b/llvm/test/Transforms/SimplifyCFG/2003-08-17-BranchFold.ll @@ -0,0 +1,20 @@ +; This test checks to make sure that 'br X, Dest, Dest' is folded into +; 'br Dest' + +; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep 'br bool %c2' + +declare void %noop() + +int %test(bool %c1, bool %c2) { + call void %noop() + br bool %c1, label %A, label %Y +A: + call void %noop() + br bool %c2, label %X, label %X ; Can be converted to unconditional br +X: + call void %noop() + ret int 0 +Y: + call void %noop() + br label %X +} |