mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-01 00:17:01 +00:00
When allocating space on stack for writing a register,
use the size of the register, not the size of the Value type, to get the right alignment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1284 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -709,9 +709,9 @@ void UltraSparcRegInfo::colorCallArgs(const MachineInstr *const CallMI,
|
||||
|
||||
int TReg = PRA.getRegNotUsedByThisInst( LR->getRegClass(), CallMI );
|
||||
|
||||
int TmpOff = PRA.mcInfo.pushTempValue(target,
|
||||
target.findOptimalStorageSize(LR->getType()));
|
||||
// getStackOffsets().getNewTmpPosOffFromFP();
|
||||
/**** NOTE: THIS SHOULD USE THE RIGHT SIZE FOR THE REG BEING PUSHED ****/
|
||||
int TmpOff = PRA.mcInfo.pushTempValue(target, 8);
|
||||
// target.findOptimalStorageSize(LR->getType()));
|
||||
|
||||
int argOffset = PRA.mcInfo.allocateOptionalArg(target, LR->getType());
|
||||
|
||||
@@ -1174,8 +1174,9 @@ void UltraSparcRegInfo::insertCallerSavingCode(const MachineInstr *MInst,
|
||||
// and add them to InstrnsBefore and InstrnsAfter of the
|
||||
// call instruction
|
||||
|
||||
int StackOff = PRA.mcInfo.pushTempValue(target,
|
||||
target.findOptimalStorageSize(LR->getType()));
|
||||
/**** NOTE: THIS SHOULD USE THE RIGHT SIZE FOR THE REG BEING PUSHED ****/
|
||||
int StackOff = PRA.mcInfo.pushTempValue(target, 8);
|
||||
// target.findOptimalStorageSize(LR->getType()));
|
||||
|
||||
MachineInstr *AdIBefCC, *AdIAftCC, *AdICpCC;
|
||||
MachineInstr *AdIBef, *AdIAft;
|
||||
@@ -1548,6 +1549,7 @@ void UltraSparcRegInfo::moveInst2OrdVec(vector<MachineInstr *> &OrdVec,
|
||||
MachineInstr *AdIBef, *AdIAft;
|
||||
|
||||
// TODO: Change 8 below
|
||||
/**** NOTE: THIS SHOULD USE THE RIGHT SIZE FOR THE REG BEING PUSHED ****/
|
||||
const int StackOff = PRA.mcInfo.pushTempValue(target, 8);
|
||||
|
||||
// Save the UReg (%ox) on stack before it's destroyed
|
||||
|
||||
Reference in New Issue
Block a user