mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-10-31 09:11:13 +00:00
* Follow the PowerPC convention of leaving 24 bytes for linking on the stack.
* Also leave space for spilling integer registers (this should be calculated) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14554 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
425ff24bb3
commit
452069abcc
@ -195,7 +195,10 @@ void PowerPCRegisterInfo::emitPrologue(MachineFunction &MF) const {
|
|||||||
// in the function immediately on entry to the current function. This
|
// in the function immediately on entry to the current function. This
|
||||||
// eliminates the need for add/sub brackets around call sites.
|
// eliminates the need for add/sub brackets around call sites.
|
||||||
//
|
//
|
||||||
NumBytes += MFI->getMaxCallFrameSize();
|
NumBytes += MFI->getMaxCallFrameSize() +
|
||||||
|
24 /* Predefined PowerPC link area */ +
|
||||||
|
12*4 /* Spilled int regs */ +
|
||||||
|
0*8 /* Spilled fp regs */;
|
||||||
|
|
||||||
// Round the size to a multiple of the alignment (don't forget the 4 byte
|
// Round the size to a multiple of the alignment (don't forget the 4 byte
|
||||||
// offset though).
|
// offset though).
|
||||||
@ -217,7 +220,7 @@ void PowerPCRegisterInfo::emitPrologue(MachineFunction &MF) const {
|
|||||||
|
|
||||||
// adjust stack pointer: r1 -= numbytes
|
// adjust stack pointer: r1 -= numbytes
|
||||||
if (NumBytes) {
|
if (NumBytes) {
|
||||||
MI = BuildMI(PPC32::STWU, 2, PPC32::R1).addImm(-80).addReg(PPC32::R1);
|
MI = BuildMI(PPC32::STWU, 2, PPC32::R1).addImm(-NumBytes).addReg(PPC32::R1);
|
||||||
MBB.insert(MBBI, MI);
|
MBB.insert(MBBI, MI);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user