Clear maps right after basic block is processed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11892 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/VirtRegMap.cpp b/lib/CodeGen/VirtRegMap.cpp
index e8225e2..2e6b16b 100644
--- a/lib/CodeGen/VirtRegMap.cpp
+++ b/lib/CodeGen/VirtRegMap.cpp
@@ -89,8 +89,8 @@
tii_(tm_.getInstrInfo()),
mri_(*tm_.getRegisterInfo()),
vrm_(vrm),
- p2vMap_(mri_.getNumRegs()),
- dirty_(mri_.getNumRegs()) {
+ p2vMap_(mri_.getNumRegs(), 0),
+ dirty_(mri_.getNumRegs(), false) {
DEBUG(std::cerr << "********** REWRITE MACHINE CODE **********\n");
DEBUG(std::cerr << "********** Function: "
<< mf_.getFunction()->getName() << '\n');
@@ -99,11 +99,11 @@
void eliminateVirtRegs() {
for (MachineFunction::iterator mbbi = mf_.begin(),
mbbe = mf_.end(); mbbi != mbbe; ++mbbi) {
+ DEBUG(std::cerr << mbbi->getBasicBlock()->getName() << ":\n");
+ eliminateVirtRegsInMbb(*mbbi);
// clear map and dirty flag
p2vMap_.assign(p2vMap_.size(), 0);
dirty_.assign(dirty_.size(), false);
- DEBUG(std::cerr << mbbi->getBasicBlock()->getName() << ":\n");
- eliminateVirtRegsInMbb(*mbbi);
}
}