Let MRegisterInfo now owns RegScavenger.
authorEvan Cheng <evan.cheng@apple.com>
Tue, 27 Feb 2007 21:10:33 +0000 (21:10 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 27 Feb 2007 21:10:33 +0000 (21:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34691 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/PrologEpilogInserter.cpp

index e9d7d837e89a34bdaf4510adf1e601345886dbce..82b431e13904644d8e9ac7b81d0d2ced48edbeaf 100644 (file)
@@ -442,9 +442,10 @@ void PEI::replaceFrameIndices(MachineFunction &Fn) {
   const TargetMachine &TM = Fn.getTarget();
   assert(TM.getRegisterInfo() && "TM::getRegisterInfo() must be implemented!");
   const MRegisterInfo &MRI = *TM.getRegisterInfo();
+  RegScavenger *RS = MRI.getRegScavenger();
 
   for (MachineFunction::iterator BB = Fn.begin(), E = Fn.end(); BB != E; ++BB) {
-    RegScavenger RS(BB);
+    if (RS) RS->reset(BB);
     for (MachineBasicBlock::iterator I = BB->begin(); I != BB->end(); ++I) {
       for (unsigned i = 0, e = I->getNumOperands(); i != e; ++i)
         if (I->getOperand(i).isFrameIndex()) {
@@ -454,8 +455,7 @@ void PEI::replaceFrameIndices(MachineFunction &Fn) {
           break;
         }
       // Update register states.
-      if (MRI.requiresRegisterScavenging())
-        RS.forward(I);
+      if (RS) RS->forward(I);
     }
   }
 }