Lines Matching refs:LiveInterval

114     typedef std::pair<LiveInterval*, LiveInterval::iterator> IntervalPtr;
149 std::vector<LiveInterval*> handled_;
163 typedef std::priority_queue<LiveInterval*,
164 SmallVector<LiveInterval*, 64>,
165 greater_ptr<LiveInterval> > IntervalHeap;
253 LiveInterval *hasNextReloadInterval(LiveInterval *cur);
256 void DowngradeRegister(LiveInterval *li, unsigned Reg);
263 void assignRegOrStackSlotAtInterval(LiveInterval* cur);
273 void findIntervalsToSpill(LiveInterval *cur,
276 SmallVector<LiveInterval*, 8> &SpillIntervals);
285 unsigned attemptTrivialCoalescing(LiveInterval &cur, unsigned Reg);
352 unsigned getFreePhysReg(LiveInterval* cur);
353 unsigned getFreePhysReg(LiveInterval* cur,
447 unsigned RALinScan::attemptTrivialCoalescing(LiveInterval &cur, unsigned Reg) { in attemptTrivialCoalescing()
598 LiveInterval* cur = unhandled_.top(); in linearScan()
646 LiveInterval &cur = *i->second; in linearScan()
659 for (LiveInterval::Ranges::const_iterator I = cur.begin(), E = cur.end(); in linearScan()
689 LiveInterval *Interval = active_[i].first; in processActiveIntervals()
690 LiveInterval::iterator IntervalPos = active_[i].second; in processActiveIntervals()
735 LiveInterval *Interval = inactive_[i].first; in processInactiveIntervals()
736 LiveInterval::iterator IntervalPos = inactive_[i].second; in processInactiveIntervals()
804 FindIntervalInVector(RALinScan::IntervalPtrs &IP, LiveInterval *LI) { in FindIntervalInVector()
815 LiveInterval::iterator I = std::upper_bound(IP.first->begin(), in RevertVectorIteratorsTo()
825 float getConflictWeight(LiveInterval *cur, unsigned Reg, LiveIntervals *li_, in getConflictWeight()
844 void RALinScan::findIntervalsToSpill(LiveInterval *cur, in findIntervalsToSpill()
847 SmallVector<LiveInterval*, 8> &SpillIntervals) { in findIntervalsToSpill() argument
852 SmallVector<LiveInterval*, 8> SLIs[3]; in findIntervalsToSpill()
931 LiveInterval *RALinScan::hasNextReloadInterval(LiveInterval *cur) { in hasNextReloadInterval()
938 void RALinScan::DowngradeRegister(LiveInterval *li, unsigned Reg) { in DowngradeRegister()
958 bool operator()(LiveInterval* A, LiveInterval* B) { in operator ()()
966 void RALinScan::assignRegOrStackSlotAtInterval(LiveInterval* cur) { in assignRegOrStackSlotAtInterval()
1057 LiveInterval *I = IP.first; in assignRegOrStackSlotAtInterval()
1059 LiveInterval::iterator II = I->advanceTo(IP.second, StartPosition); in assignRegOrStackSlotAtInterval()
1079 LiveInterval *I = IP.first; in assignRegOrStackSlotAtInterval()
1084 LiveInterval::iterator II = I->advanceTo(IP.second, StartPosition); in assignRegOrStackSlotAtInterval()
1125 if (LiveInterval *NextReloadLI = hasNextReloadInterval(cur)) { in assignRegOrStackSlotAtInterval()
1196 LiveInterval *I = IP.first; in assignRegOrStackSlotAtInterval()
1232 SmallVector<LiveInterval*, 8> added; in assignRegOrStackSlotAtInterval()
1247 LiveInterval *LastReload = 0; in assignRegOrStackSlotAtInterval()
1250 LiveInterval *ReloadLi = added[i]; in assignRegOrStackSlotAtInterval()
1285 SmallVector<LiveInterval*, 8> spillIs; in assignRegOrStackSlotAtInterval()
1303 SmallVector<LiveInterval*, 8> added; in assignRegOrStackSlotAtInterval()
1305 LiveInterval *sli = spillIs.back(); in assignRegOrStackSlotAtInterval()
1328 LiveInterval* i = handled_.back(); in assignRegOrStackSlotAtInterval()
1379 LiveInterval *HI = handled_[i]; in assignRegOrStackSlotAtInterval()
1394 LiveInterval *LastReload = 0; in assignRegOrStackSlotAtInterval()
1398 LiveInterval *ReloadLi = added[i]; in assignRegOrStackSlotAtInterval()
1419 unsigned RALinScan::getFreePhysReg(LiveInterval* cur, in getFreePhysReg()
1499 unsigned RALinScan::getFreePhysReg(LiveInterval *cur) { in getFreePhysReg()