From 664c953b39b5bc3c2e6cf3feb5bb4ea92355d886 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 25 Feb 2002 00:34:18 +0000 Subject: [PATCH] Testcase for new bug git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1797 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Other/2002-02-24-InlineBrokePHINodes.ll | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 test/Other/2002-02-24-InlineBrokePHINodes.ll diff --git a/test/Other/2002-02-24-InlineBrokePHINodes.ll b/test/Other/2002-02-24-InlineBrokePHINodes.ll new file mode 100644 index 00000000000..58e1b8c5f91 --- /dev/null +++ b/test/Other/2002-02-24-InlineBrokePHINodes.ll @@ -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 +