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);
             }
         }