Testcase for new bug
authorChris Lattner <sabre@nondot.org>
Mon, 25 Feb 2002 00:34:18 +0000 (00:34 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 25 Feb 2002 00:34:18 +0000 (00:34 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1797 91177308-0d34-0410-b5e6-96231b3b80d8

test/Other/2002-02-24-InlineBrokePHINodes.ll [new file with mode: 0644]

diff --git a/test/Other/2002-02-24-InlineBrokePHINodes.ll b/test/Other/2002-02-24-InlineBrokePHINodes.ll
new file mode 100644 (file)
index 0000000..58e1b8c
--- /dev/null
@@ -0,0 +1,26 @@
+; Inlining used to break PHI nodes.  This tests that they are correctly updated 
+; when a node is split around the call instruction.  The verifier caught the error.
+;
+; RUN: as < %s | opt -inline -verify
+;
+implementation
+
+ulong "test"(ulong %X)
+begin
+       ret ulong %X
+end
+
+ulong "fib"(ulong %n)
+begin
+  %T = setlt ulong %n, 2       ; {bool}:0
+  br bool %T, label %BaseCase, label %RecurseCase
+
+RecurseCase:
+  %result = call ulong %test(ulong %n)
+  br label %BaseCase
+
+BaseCase:
+  %X = phi ulong [1, %0], [2, %RecurseCase]
+  ret ulong %X
+end
+