Clear maps right after basic block is processed.
authorAlkis Evlogimenos <alkis@evlogimenos.com>
Thu, 26 Feb 2004 23:22:23 +0000 (23:22 +0000)
committerAlkis Evlogimenos <alkis@evlogimenos.com>
Thu, 26 Feb 2004 23:22:23 +0000 (23:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11892 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/VirtRegMap.cpp

index e8225e2b1901b00db5f4d02aa3b169260e0cbf59..2e6b16b7709c18f73784cfb88c62848f21f83c44 100644 (file)
@@ -89,8 +89,8 @@ namespace {
               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 @@ namespace {
         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);
             }
         }