[llvm-commits] CVS: llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp

Andrew Lenharth alenhar2 at cs.uiuc.edu
Tue Jan 24 17:51:20 PST 2006



Changes in directory llvm/lib/Target/Alpha:

AlphaRegisterInfo.cpp updated: 1.31 -> 1.32
---
Log message:

maintaining stackpointer alignment.  Perhaps it doesn't matter

---
Diffs of the changes:  (+4 -0)

 AlphaRegisterInfo.cpp |    4 ++++
 1 files changed, 4 insertions(+)


Index: llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp
diff -u llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.31 llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.32
--- llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.31	Sun Jan  1 16:13:54 2006
+++ llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp	Tue Jan 24 19:51:08 2006
@@ -257,6 +257,7 @@
         " for stack size: " << MF.getFrameInfo()->getStackSize() << "\n");
 
   if (Offset > IMM_HIGH || Offset < IMM_LOW) {
+    std::cerr << "Unconditionally using R28 for evil purposes\n";
     //so in this case, we need to use a temporary register, and move the original
     //inst off the SP/FP
     //fix up the old:
@@ -311,6 +312,9 @@
   // Do we need to allocate space on the stack?
   if (NumBytes == 0) return;
 
+  unsigned Align = MF.getTarget().getFrameInfo()->getStackAlignment();
+  NumBytes = (NumBytes+Align-1)/Align*Align;
+
   // Update frame info to pretend that this is part of the stack...
   MFI->setStackSize(NumBytes);
 






More information about the llvm-commits mailing list