summaryrefslogtreecommitdiff
path: root/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
commitff0c5014b2127b16815121d9e723dc85bd164a79 (patch)
tree215725f994e9c9e3f820dd6e1f5464ba8f9670c3 /lib/Target/XCore/XCoreFrameLowering.cpp
parentae200c60c31666da81a8550172de03a9f417ba1b (diff)
downloadllvm-ff0c5014b2127b16815121d9e723dc85bd164a79.tar.gz
llvm-ff0c5014b2127b16815121d9e723dc85bd164a79.tar.bz2
llvm-ff0c5014b2127b16815121d9e723dc85bd164a79.tar.xz
Add support for trampolines on the XCore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124722 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/XCore/XCoreFrameLowering.cpp')
-rw-r--r--lib/Target/XCore/XCoreFrameLowering.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/XCore/XCoreFrameLowering.cpp b/lib/Target/XCore/XCoreFrameLowering.cpp
index 0645c1654a..057822074e 100644
--- a/lib/Target/XCore/XCoreFrameLowering.cpp
+++ b/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();