diff options
| author | Chris Lattner <sabre@nondot.org> | 2005-08-23 22:51:41 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2005-08-23 22:51:41 +0000 | 
| commit | 774158239b97c9248d18e95b7789d2d09fe19ea4 (patch) | |
| tree | 5ae2043f239b1d3456568e8b1ac0b47a611f3e5d /llvm/lib/CodeGen | |
| parent | 7c1c6e06f3f207a6a338e00425eb87035d54f6b3 (diff) | |
| download | bcm5719-llvm-774158239b97c9248d18e95b7789d2d09fe19ea4.tar.gz bcm5719-llvm-774158239b97c9248d18e95b7789d2d09fe19ea4.zip  | |
Simplify this code by using higher-level LiveVariables methods
llvm-svn: 22989
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/LiveIntervalAnalysis.cpp | 30 | 
1 files changed, 10 insertions, 20 deletions
diff --git a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp index 2050115962a..0f43c1b7330 100644 --- a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp +++ b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp @@ -431,12 +431,8 @@ void LiveIntervals::handleVirtualRegisterDef(MachineBasicBlock* mbb,        // If this redefinition is dead, we need to add a dummy unit live        // range covering the def slot. -      for (LiveVariables::killed_iterator KI = lv_->dead_begin(mi), -             E = lv_->dead_end(mi); KI != E; ++KI) -        if (KI->second == interval.reg) { -          interval.addRange(LiveRange(RedefIndex, RedefIndex+1, 0)); -          break; -        } +      if (lv_->RegisterDefIsDead(mi, interval.reg)) +        interval.addRange(LiveRange(RedefIndex, RedefIndex+1, 0));        DEBUG(std::cerr << "RESULT: " << interval); @@ -496,13 +492,10 @@ void LiveIntervals::handlePhysicalRegisterDef(MachineBasicBlock *MBB,    // If it is not used after definition, it is considered dead at    // the instruction defining it. Hence its interval is:    // [defSlot(def), defSlot(def)+1) -  for (KillIter ki = lv_->dead_begin(mi), ke = lv_->dead_end(mi); -       ki != ke; ++ki) { -    if (interval.reg == ki->second) { -      DEBUG(std::cerr << " dead"); -      end = getDefIndex(start) + 1; -      goto exit; -    } +  if (lv_->RegisterDefIsDead(mi, interval.reg)) { +    DEBUG(std::cerr << " dead"); +    end = getDefIndex(start) + 1; +    goto exit;    }    // If it is not dead on definition, it must be killed by a @@ -512,13 +505,10 @@ void LiveIntervals::handlePhysicalRegisterDef(MachineBasicBlock *MBB,      ++mi;      assert(mi != MBB->end() && "physreg was not killed in defining block!");      baseIndex += InstrSlots::NUM; -    for (KillIter ki = lv_->killed_begin(mi), ke = lv_->killed_end(mi); -         ki != ke; ++ki) { -      if (interval.reg == ki->second) { -        DEBUG(std::cerr << " killed"); -        end = getUseIndex(baseIndex) + 1; -        goto exit; -      } +    if (lv_->KillsRegister(mi, interval.reg)) { +      DEBUG(std::cerr << " killed"); +      end = getUseIndex(baseIndex) + 1; +      goto exit;      }    }  | 

