From ff1547890a5af47c215bf7e1f1da85bae6aabe4d Mon Sep 17 00:00:00 2001 From: Akira Hatanaka Date: Mon, 17 Sep 2012 20:02:42 +0000 Subject: [PATCH] Make sure there is enough room for RA. getStackSize needs to be cleaned up but we will do that when we implement the full save/restore. Patch by Reed Kotler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164051 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/Mips/Mips16FrameLowering.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/Target/Mips/Mips16FrameLowering.cpp b/lib/Target/Mips/Mips16FrameLowering.cpp index 030042f2e83..a671df4bc12 100644 --- a/lib/Target/Mips/Mips16FrameLowering.cpp +++ b/lib/Target/Mips/Mips16FrameLowering.cpp @@ -35,6 +35,8 @@ void Mips16FrameLowering::emitPrologue(MachineFunction &MF) const { DebugLoc dl = MBBI != MBB.end() ? MBBI->getDebugLoc() : DebugLoc(); uint64_t StackSize = MFI->getStackSize(); + StackSize += 16; // need to allocate space for RA. Clean this up later + // when we fix the save/restore instruction. TBD.. // No need to allocate space on the stack. if (StackSize == 0 && !MFI->adjustsStack()) return; @@ -52,6 +54,8 @@ void Mips16FrameLowering::emitEpilogue(MachineFunction &MF, DebugLoc dl = MBBI->getDebugLoc(); uint64_t StackSize = MFI->getStackSize(); + StackSize += 16; // need to allocate space for RA. Clean this up later + // when we fix the save/restore instruction. TBD.. if (!StackSize) return;