mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-08 21:32:39 +00:00
Properly generate stack frame
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75998 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0ba60d9658
commit
c3a5196133
@ -193,8 +193,9 @@ void SystemZRegisterInfo::emitPrologue(MachineFunction &MF) const {
|
||||
// Get the number of bytes to allocate from the FrameInfo.
|
||||
// Note that area for callee-saved stuff is already allocated, thus we need to
|
||||
// 'undo' the stack movement.
|
||||
uint64_t StackSize =
|
||||
MFI->getStackSize() - SystemZMFI->getCalleeSavedFrameSize();
|
||||
uint64_t StackSize = MFI->getStackSize();
|
||||
uint64_t NumBytes = StackSize - SystemZMFI->getCalleeSavedFrameSize();
|
||||
NumBytes -= TFI.getOffsetOfLocalArea();
|
||||
|
||||
// Skip the callee-saved push instructions.
|
||||
while (MBBI != MBB.end() &&
|
||||
@ -205,9 +206,8 @@ void SystemZRegisterInfo::emitPrologue(MachineFunction &MF) const {
|
||||
if (MBBI != MBB.end())
|
||||
DL = MBBI->getDebugLoc();
|
||||
|
||||
uint64_t NumBytes = StackSize - TFI.getOffsetOfLocalArea();
|
||||
|
||||
if (NumBytes) // adjust stack pointer: R15 -= numbytes
|
||||
// adjust stack pointer: R15 -= numbytes
|
||||
if (StackSize)
|
||||
emitSPUpdate(MBB, MBBI, -(int64_t)NumBytes, TII);
|
||||
|
||||
if (hasFP(MF)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user