diff options
author | Vikram S. Adve <vadve@cs.uiuc.edu> | 2001-11-12 23:26:35 +0000 |
---|---|---|
committer | Vikram S. Adve <vadve@cs.uiuc.edu> | 2001-11-12 23:26:35 +0000 |
commit | 00521d79bf4ee009f59e726a5eb227e04075f5c8 (patch) | |
tree | c0067df4fa3325297553e3dd0d1845327d76e326 /lib/Target/SparcV9/SparcV9RegInfo.cpp | |
parent | e492c9d4d1a161cd0972bfb8bab33f073fb018b4 (diff) |
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
Diffstat (limited to 'lib/Target/SparcV9/SparcV9RegInfo.cpp')
-rw-r--r-- | lib/Target/SparcV9/SparcV9RegInfo.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/Target/SparcV9/SparcV9RegInfo.cpp b/lib/Target/SparcV9/SparcV9RegInfo.cpp index 16e3b9f038..e59a3ab2b4 100644 --- a/lib/Target/SparcV9/SparcV9RegInfo.cpp +++ b/lib/Target/SparcV9/SparcV9RegInfo.cpp @@ -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 |