aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-02-27 21:10:33 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-02-27 21:10:33 +0000
commit3f6fd87473c3fc7d2e99a43b17140d70daa7148c (patch)
tree361b75616172ff1eac6168fa436e40601b2b260c
parentbb6fb3357d6c1e9ffb15de4893e59e3bbdd600a3 (diff)
Let MRegisterInfo now owns RegScavenger.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34691 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/PrologEpilogInserter.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/CodeGen/PrologEpilogInserter.cpp b/lib/CodeGen/PrologEpilogInserter.cpp
index e9d7d837e8..82b431e139 100644
--- a/lib/CodeGen/PrologEpilogInserter.cpp
+++ b/lib/CodeGen/PrologEpilogInserter.cpp
@@ -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);
}
}
}