[llvm-commits] CVS: llvm/lib/CodeGen/PrologEpilogInserter.cpp

Evan Cheng evan.cheng at apple.com
Tue Feb 27 16:17:53 PST 2007



Changes in directory llvm/lib/CodeGen:

PrologEpilogInserter.cpp updated: 1.71 -> 1.72
---
Log message:

MRegisterInfo disowns RegScavenger. It's immutable.

---
Diffs of the changes:  (+2 -2)

 PrologEpilogInserter.cpp |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Index: llvm/lib/CodeGen/PrologEpilogInserter.cpp
diff -u llvm/lib/CodeGen/PrologEpilogInserter.cpp:1.71 llvm/lib/CodeGen/PrologEpilogInserter.cpp:1.72
--- llvm/lib/CodeGen/PrologEpilogInserter.cpp:1.71	Tue Feb 27 15:10:33 2007
+++ llvm/lib/CodeGen/PrologEpilogInserter.cpp	Tue Feb 27 18:17:36 2007
@@ -442,7 +442,7 @@
   const TargetMachine &TM = Fn.getTarget();
   assert(TM.getRegisterInfo() && "TM::getRegisterInfo() must be implemented!");
   const MRegisterInfo &MRI = *TM.getRegisterInfo();
-  RegScavenger *RS = MRI.getRegScavenger();
+  RegScavenger *RS = MRI.requiresRegisterScavenging() ? new RegScavenger():NULL;
 
   for (MachineFunction::iterator BB = Fn.begin(), E = Fn.end(); BB != E; ++BB) {
     if (RS) RS->reset(BB);
@@ -451,7 +451,7 @@
         if (I->getOperand(i).isFrameIndex()) {
           // If this instruction has a FrameIndex operand, we need to use that
           // target machine register info object to eliminate it.
-          MRI.eliminateFrameIndex(I);
+          MRI.eliminateFrameIndex(I, RS);
           break;
         }
       // Update register states.






More information about the llvm-commits mailing list