Grow the map on entry so that we don't crash if joinIntervals never
[oota-llvm.git] / lib / CodeGen / LiveIntervalAnalysis.cpp
index e0fefc3870ffe612530cea871045adbd9eac3dfe..04978d62e82926e3d3f92598e9e1a0d9e59b7ae2 100644 (file)
@@ -88,6 +88,7 @@ bool LiveIntervals::runOnMachineFunction(MachineFunction &fn) {
   mri_ = tm_->getRegisterInfo();
   lv_ = &getAnalysis<LiveVariables>();
   allocatableRegs_ = mri_->getAllocatableSet(fn);
+  r2rMap_.grow(mf_->getSSARegMap()->getLastVirtReg());
 
   // number MachineInstrs
   unsigned miIndex = 0;
@@ -619,8 +620,6 @@ namespace {
 
 void LiveIntervals::joinIntervals() {
   DEBUG(std::cerr << "********** JOINING INTERVALS ***********\n");
-  // reserve space for the reg2reg map
-  r2rMap_.grow(mf_->getSSARegMap()->getLastVirtReg());
 
   const LoopInfo &LI = getAnalysis<LoopInfo>();
   if (LI.begin() == LI.end()) {