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

Andrew Lenharth alenhar2 at cs.uiuc.edu
Thu Feb 24 10:36:48 PST 2005



Changes in directory llvm/lib/Target/Alpha:

AlphaRegisterInfo.cpp updated: 1.12 -> 1.13
---
Log message:

fix Allocas.  Really.  I mean it this time.

---
Diffs of the changes:  (+6 -1)

 AlphaRegisterInfo.cpp |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletion(-)


Index: llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp
diff -u llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.12 llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.13
--- llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp:1.12	Tue Feb 22 15:59:48 2005
+++ llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp	Thu Feb 24 12:36:32 2005
@@ -220,7 +220,8 @@
     // brackets around call sites.
     //If there is a frame pointer, then we don't do this
     NumBytes += MFI->getMaxCallFrameSize();
-    std::cerr << "Added " << MFI->getMaxCallFrameSize() << " to the stack due to calls\n";
+    DEBUG(std::cerr << "Added " << MFI->getMaxCallFrameSize() 
+          << " to the stack due to calls\n");
   }
 
   if (FP)
@@ -274,6 +275,10 @@
   //now if we need to, restore the old FP
   if (FP)
   {
+    //copy the FP into the SP (discards allocas)
+    MI=BuildMI(Alpha::BIS, 2, Alpha::R30).addReg(Alpha::R15).addReg(Alpha::R15);
+    MBB.insert(MBBI, MI);
+    //restore the FP
     MI=BuildMI(Alpha::LDQ, 2, Alpha::R15).addImm(0).addReg(Alpha::R15);
     MBB.insert(MBBI, MI);
   }






More information about the llvm-commits mailing list