Free the VirtRegMap at the end of MachineFunction processing instead of at
the beginning of processing the next one.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16605 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/RegAllocLinearScan.cpp b/lib/CodeGen/RegAllocLinearScan.cpp
index eda105f..2a5898a 100644
--- a/lib/CodeGen/RegAllocLinearScan.cpp
+++ b/lib/CodeGen/RegAllocLinearScan.cpp
@@ -41,7 +41,6 @@
   static unsigned numIntervals = 0;
 
   class RA : public MachineFunctionPass {
-  private:
     MachineFunction* mf_;
     const TargetMachine* tm_;
     const MRegisterInfo* mri_;
@@ -150,6 +149,7 @@
 
   spiller_->runOnMachineFunction(*mf_, *vrm_);
 
+  vrm_.reset();  // Free the VirtRegMap
   return true;
 }