From f0cd835784daf390e730f1c4a9582ff0c517e57e Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 17 Aug 2003 19:37:57 +0000 Subject: [PATCH] New testcase git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7920 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../2003-08-17-BranchFoldOrdering.ll | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 test/Transforms/SimplifyCFG/2003-08-17-BranchFoldOrdering.ll diff --git a/test/Transforms/SimplifyCFG/2003-08-17-BranchFoldOrdering.ll b/test/Transforms/SimplifyCFG/2003-08-17-BranchFoldOrdering.ll new file mode 100644 index 00000000000..25a4d56d312 --- /dev/null +++ b/test/Transforms/SimplifyCFG/2003-08-17-BranchFoldOrdering.ll @@ -0,0 +1,24 @@ +; This test checks to make sure that 'br X, Dest, Dest' is folded into +; 'br Dest'. This can only happen after the 'Z' block is eliminated. This is +; due to the fact that the SimplifyCFG function does not use +; the ConstantFoldTerminator function. + +; RUN: as < %s | opt -simplifycfg | 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 %Z, label %X ; Can be converted to unconditional br +Z: + br label %X +X: + call void %noop() + ret int 0 +Y: + call void %noop() + br label %X +}