diff options
Diffstat (limited to 'test/CodeGen/PowerPC/2010-05-03-retaddr1.ll')
-rw-r--r-- | test/CodeGen/PowerPC/2010-05-03-retaddr1.ll | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/2010-05-03-retaddr1.ll b/test/CodeGen/PowerPC/2010-05-03-retaddr1.ll new file mode 100644 index 000000000000..b10920a6c10d --- /dev/null +++ b/test/CodeGen/PowerPC/2010-05-03-retaddr1.ll @@ -0,0 +1,24 @@ +; RUN: llc < %s -march=ppc32 -mtriple=powerpc-apple-darwin -mcpu=g5 | FileCheck %s + +declare i8* @llvm.frameaddress(i32) nounwind readnone + +define i8* @g2() nounwind readnone { +entry: +; CHECK: _g2: +; CHECK: lwz r3, 0(r1) + %0 = tail call i8* @llvm.frameaddress(i32 1) ; <i8*> [#uses=1] + ret i8* %0 +} + +declare i8* @llvm.returnaddress(i32) nounwind readnone + +define i8* @g() nounwind readnone { +entry: +; CHECK: _g: +; CHECK: mflr r0 +; CHECK: stw r0, 8(r1) +; CHECK: lwz r3, 0(r1) +; CHECK: lwz r3, 8(r3) + %0 = tail call i8* @llvm.returnaddress(i32 1) ; <i8*> [#uses=1] + ret i8* %0 +} |