mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
Register sizes are in bits, not bytes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16070 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
fec656c44c
commit
5709998993
@ -181,11 +181,11 @@ void PEI::calculateCallerSavedRegisters(MachineFunction &Fn) {
|
|||||||
int FrameIdx;
|
int FrameIdx;
|
||||||
if (FixedSlot == FixedSpillSlots+NumFixedSpillSlots) {
|
if (FixedSlot == FixedSpillSlots+NumFixedSpillSlots) {
|
||||||
// Nope, just spill it anywhere convenient.
|
// Nope, just spill it anywhere convenient.
|
||||||
FrameIdx = FFI->CreateStackObject(RegInfo->getSpillSize(Reg),
|
FrameIdx = FFI->CreateStackObject(RegInfo->getSpillSize(Reg)/8,
|
||||||
RegInfo->getSpillAlignment(Reg)/8);
|
RegInfo->getSpillAlignment(Reg)/8);
|
||||||
} else {
|
} else {
|
||||||
// Spill it to the stack where we must.
|
// Spill it to the stack where we must.
|
||||||
FrameIdx = FFI->CreateFixedObject(RegInfo->getSpillSize(Reg),
|
FrameIdx = FFI->CreateFixedObject(RegInfo->getSpillSize(Reg)/8,
|
||||||
FixedSlot->second);
|
FixedSlot->second);
|
||||||
}
|
}
|
||||||
StackSlots.push_back(FrameIdx);
|
StackSlots.push_back(FrameIdx);
|
||||||
|
@ -240,7 +240,7 @@ void PPC64RegisterInfo::emitPrologue(MachineFunction &MF) const {
|
|||||||
// Add the size of R1 to NumBytes size for the store of R1 to the bottom
|
// Add the size of R1 to NumBytes size for the store of R1 to the bottom
|
||||||
// of the stack and round the size to a multiple of the alignment.
|
// of the stack and round the size to a multiple of the alignment.
|
||||||
unsigned Align = MF.getTarget().getFrameInfo()->getStackAlignment();
|
unsigned Align = MF.getTarget().getFrameInfo()->getStackAlignment();
|
||||||
unsigned GPRSize = getSpillSize(PPC::R1);
|
unsigned GPRSize = getSpillSize(PPC::R1)/8;
|
||||||
unsigned Size = hasFP(MF) ? GPRSize + GPRSize : GPRSize;
|
unsigned Size = hasFP(MF) ? GPRSize + GPRSize : GPRSize;
|
||||||
NumBytes = (NumBytes+Size+Align-1)/Align*Align;
|
NumBytes = (NumBytes+Size+Align-1)/Align*Align;
|
||||||
|
|
||||||
|
@ -238,7 +238,7 @@ void PPC32RegisterInfo::emitPrologue(MachineFunction &MF) const {
|
|||||||
// Add the size of R1 to NumBytes size for the store of R1 to the bottom
|
// Add the size of R1 to NumBytes size for the store of R1 to the bottom
|
||||||
// of the stack and round the size to a multiple of the alignment.
|
// of the stack and round the size to a multiple of the alignment.
|
||||||
unsigned Align = MF.getTarget().getFrameInfo()->getStackAlignment();
|
unsigned Align = MF.getTarget().getFrameInfo()->getStackAlignment();
|
||||||
unsigned GPRSize = getSpillSize(PPC::R1);
|
unsigned GPRSize = getSpillSize(PPC::R1)/8;
|
||||||
unsigned Size = hasFP(MF) ? GPRSize + GPRSize : GPRSize;
|
unsigned Size = hasFP(MF) ? GPRSize + GPRSize : GPRSize;
|
||||||
NumBytes = (NumBytes+Size+Align-1)/Align*Align;
|
NumBytes = (NumBytes+Size+Align-1)/Align*Align;
|
||||||
|
|
||||||
@ -278,7 +278,7 @@ void PPC32RegisterInfo::emitEpilogue(MachineFunction &MF,
|
|||||||
|
|
||||||
// Get the number of bytes allocated from the FrameInfo...
|
// Get the number of bytes allocated from the FrameInfo...
|
||||||
unsigned NumBytes = MFI->getStackSize();
|
unsigned NumBytes = MFI->getStackSize();
|
||||||
unsigned GPRSize = getSpillSize(PPC::R31);
|
unsigned GPRSize = getSpillSize(PPC::R31)/8;
|
||||||
|
|
||||||
if (NumBytes != 0) {
|
if (NumBytes != 0) {
|
||||||
if (hasFP(MF)) {
|
if (hasFP(MF)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user