New testcase
authorChris Lattner <sabre@nondot.org>
Sun, 17 Aug 2003 19:37:57 +0000 (19:37 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 17 Aug 2003 19:37:57 +0000 (19:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7920 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/SimplifyCFG/2003-08-17-BranchFoldOrdering.ll [new file with mode: 0644]

diff --git a/test/Transforms/SimplifyCFG/2003-08-17-BranchFoldOrdering.ll b/test/Transforms/SimplifyCFG/2003-08-17-BranchFoldOrdering.ll
new file mode 100644 (file)
index 0000000..25a4d56
--- /dev/null
@@ -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
+}