From 563d9bdc84d30757cae9f5e44277bf0578074c5d Mon Sep 17 00:00:00 2001 From: Owen Anderson Date: Fri, 19 Nov 2010 22:34:53 +0000 Subject: [PATCH] Add a test for CodeGenPrepare's ability to look through PHI nodes when performing addressing mode folding, introduced in r119853. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119857 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/CodeGenPrepare/phi.ll | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 test/Transforms/CodeGenPrepare/phi.ll diff --git a/test/Transforms/CodeGenPrepare/phi.ll b/test/Transforms/CodeGenPrepare/phi.ll new file mode 100644 index 00000000000..29e17c095a7 --- /dev/null +++ b/test/Transforms/CodeGenPrepare/phi.ll @@ -0,0 +1,23 @@ +; RUN: llc -march=arm < %s | FileCheck %s +; + +define i32 @test1(i1 %a, i32* %b) { +; CHECK: test1 +entry: + br i1 %a, label %lblock, label %rblock + +lblock: + %lbranch = getelementptr i32* %b, i32 1 + br label %end + +rblock: + %rbranch = getelementptr i32* %b, i32 1 + br label %end + +end: +; CHECK: ldr r0, [r1, #4] + %gep = phi i32* [%lbranch, %lblock], [%rbranch, %rblock] + %r = load i32* %gep +; CHECK-NEXT: bx lr + ret i32 %r +} \ No newline at end of file