summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/XCore/XCoreFrameLowering.cpp
diff options
context:
space:
mode:
authorRichard Osborne <richard@xmos.com>2011-02-02 14:57:41 +0000
committerRichard Osborne <richard@xmos.com>2011-02-02 14:57:41 +0000
commit8607a67d37b76f3fc8893f3a3e9467bfd9f26fa7 (patch)
treeb6d1afc409ee99b3abd49621be00ef07986125e7 /llvm/lib/Target/XCore/XCoreFrameLowering.cpp
parentc63de66c4f50973b54e3341194bf847e7bfefe1f (diff)
downloadbcm5719-llvm-8607a67d37b76f3fc8893f3a3e9467bfd9f26fa7.tar.gz
bcm5719-llvm-8607a67d37b76f3fc8893f3a3e9467bfd9f26fa7.zip
Add support for trampolines on the XCore.
llvm-svn: 124722
Diffstat (limited to 'llvm/lib/Target/XCore/XCoreFrameLowering.cpp')
-rw-r--r--llvm/lib/Target/XCore/XCoreFrameLowering.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/XCore/XCoreFrameLowering.cpp b/llvm/lib/Target/XCore/XCoreFrameLowering.cpp
index 0645c1654a8..057822074e5 100644
--- a/llvm/lib/Target/XCore/XCoreFrameLowering.cpp
+++ b/llvm/lib/Target/XCore/XCoreFrameLowering.cpp
@@ -100,6 +100,11 @@ void XCoreFrameLowering::emitPrologue(MachineFunction &MF) const {
DebugLoc dl = MBBI != MBB.end() ? MBBI->getDebugLoc() : DebugLoc();
bool FP = hasFP(MF);
+ bool Nested = MF.getFunction()->getAttributes().hasAttrSomewhere(Attribute::Nest);
+
+ if (Nested) {
+ loadFromStack(MBB, MBBI, XCore::R11, 0, dl, TII);
+ }
// Work out frame sizes.
int FrameSize = MFI->getStackSize();
OpenPOWER on IntegriCloud