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
diff --git a/lib/Target/SparcV9/SparcV9RegInfo.cpp b/lib/Target/SparcV9/SparcV9RegInfo.cpp
index 16e3b9f..e59a3ab 100644
--- a/lib/Target/SparcV9/SparcV9RegInfo.cpp
+++ b/lib/Target/SparcV9/SparcV9RegInfo.cpp
@@ -709,9 +709,9 @@
 	
 	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 @@
 	    // 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 @@
 	  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