Lines Matching refs:LiveInterval

156   using SmallLISet = SmallPtrSet<LiveInterval *, 4>;
256 LiveRangeStage getStage(const LiveInterval &VirtReg) const { in getStage()
260 void setStage(const LiveInterval &VirtReg, LiveRangeStage Stage) { in setStage()
413 SmallSetVector<LiveInterval *, 8> SetOfBrokenHints;
425 void enqueue(LiveInterval *LI) override;
426 LiveInterval *dequeue() override;
427 unsigned selectOrSplit(LiveInterval&, SmallVectorImpl<unsigned>&) override;
428 void aboutToRemoveInterval(LiveInterval &) override;
441 unsigned selectOrSplitImpl(LiveInterval &, SmallVectorImpl<unsigned> &,
447 void enqueue(PQueue &CurQueue, LiveInterval *LI);
448 LiveInterval *dequeue(PQueue &CurQueue);
466 unsigned canReassign(LiveInterval &VirtReg, unsigned PrevReg);
467 bool shouldEvict(LiveInterval &A, bool, LiveInterval &B, bool);
468 bool canEvictInterference(LiveInterval&, unsigned, bool, EvictionCost&);
469 bool canEvictInterferenceInRange(LiveInterval &VirtReg, unsigned PhysReg,
473 LiveInterval &VirtReg, SlotIndex Start,
475 void evictInterference(LiveInterval&, unsigned,
477 bool mayRecolorAllInterferences(unsigned PhysReg, LiveInterval &VirtReg,
481 unsigned tryAssign(LiveInterval&, AllocationOrder&,
483 unsigned tryEvict(LiveInterval&, AllocationOrder&,
485 unsigned tryRegionSplit(LiveInterval&, AllocationOrder&,
487 unsigned isSplitBenefitWorthCost(LiveInterval &VirtReg);
489 unsigned calculateRegionSplitCost(LiveInterval &VirtReg,
495 unsigned doRegionSplit(LiveInterval &VirtReg, unsigned BestCand,
500 unsigned tryAssignCSRFirstTime(LiveInterval &VirtReg, AllocationOrder &Order,
504 unsigned tryBlockSplit(LiveInterval&, AllocationOrder&,
506 unsigned tryInstructionSplit(LiveInterval&, AllocationOrder&,
508 unsigned tryLocalSplit(LiveInterval&, AllocationOrder&,
510 unsigned trySplit(LiveInterval&, AllocationOrder&,
512 unsigned tryLastChanceRecoloring(LiveInterval &, AllocationOrder &,
517 void tryHintRecoloring(LiveInterval &);
634 LiveInterval &LI = LIS->getInterval(VirtReg); in LRE_CanEraseVirtReg()
653 LiveInterval &LI = LIS->getInterval(VirtReg); in LRE_WillShrinkVirtReg()
678 void RAGreedy::enqueue(LiveInterval *LI) { enqueue(Queue, LI); } in enqueue()
680 void RAGreedy::enqueue(PQueue &CurQueue, LiveInterval *LI) { in enqueue()
744 LiveInterval *RAGreedy::dequeue() { return dequeue(Queue); } in dequeue()
746 LiveInterval *RAGreedy::dequeue(PQueue &CurQueue) { in dequeue()
749 LiveInterval *LI = &LIS->getInterval(~CurQueue.top().second); in dequeue()
759 unsigned RAGreedy::tryAssign(LiveInterval &VirtReg, in tryAssign()
805 unsigned RAGreedy::canReassign(LiveInterval &VirtReg, unsigned PrevReg) { in canReassign()
843 bool RAGreedy::shouldEvict(LiveInterval &A, bool IsHint, in shouldEvict()
844 LiveInterval &B, bool BreaksHint) { in shouldEvict()
868 bool RAGreedy::canEvictInterference(LiveInterval &VirtReg, unsigned PhysReg, in canEvictInterference()
896 LiveInterval *Intf = Q.interferingVRegs()[i - 1]; in canEvictInterference()
957 bool RAGreedy::canEvictInterferenceInRange(LiveInterval &VirtReg, in canEvictInterferenceInRange()
968 LiveInterval *Intf = Q.interferingVRegs()[i - 1]; in canEvictInterferenceInRange()
1011 LiveInterval &VirtReg, in getCheapestEvicteeWeight()
1036 void RAGreedy::evictInterference(LiveInterval &VirtReg, unsigned PhysReg, in evictInterference()
1049 SmallVector<LiveInterval*, 8> Intfs; in evictInterference()
1057 ArrayRef<LiveInterval*> IVR = Q.interferingVRegs(); in evictInterference()
1063 LiveInterval *Intf = Intfs[i]; in evictInterference()
1094 unsigned RAGreedy::tryEvict(LiveInterval &VirtReg, in tryEvict()
1500 LiveInterval &EvictorLI = LIS->getInterval(Evictor); in splitCanCauseEvictionChain()
1771 LiveInterval &Reg = LIS->getInterval(LREdit.get(i)); in splitAroundRegion()
1807 unsigned RAGreedy::isSplitBenefitWorthCost(LiveInterval &VirtReg) { in isSplitBenefitWorthCost()
1815 unsigned RAGreedy::tryRegionSplit(LiveInterval &VirtReg, AllocationOrder &Order, in tryRegionSplit()
1858 unsigned RAGreedy::calculateRegionSplitCost(LiveInterval &VirtReg, in calculateRegionSplitCost()
1958 unsigned RAGreedy::doRegionSplit(LiveInterval &VirtReg, unsigned BestCand, in doRegionSplit()
2005 unsigned RAGreedy::tryBlockSplit(LiveInterval &VirtReg, AllocationOrder &Order, in tryBlockSplit()
2034 LiveInterval &LI = LIS->getInterval(LREdit.get(i)); in tryBlockSplit()
2072 RAGreedy::tryInstructionSplit(LiveInterval &VirtReg, AllocationOrder &Order, in tryInstructionSplit()
2154 if (!Matrix->query(const_cast<LiveInterval&>(SA->getParent()), *Units) in calcGapWeights()
2215 unsigned RAGreedy::tryLocalSplit(LiveInterval &VirtReg, AllocationOrder &Order, in tryLocalSplit()
2446 unsigned RAGreedy::trySplit(LiveInterval &VirtReg, AllocationOrder &Order, in trySplit()
2514 RAGreedy::mayRecolorAllInterferences(unsigned PhysReg, LiveInterval &VirtReg, in mayRecolorAllInterferences()
2530 LiveInterval *Intf = Q.interferingVRegs()[i - 1]; in mayRecolorAllInterferences()
2588 unsigned RAGreedy::tryLastChanceRecoloring(LiveInterval &VirtReg, in tryLastChanceRecoloring()
2727 LiveInterval *LI = dequeue(RecoloringQueue); in tryRecoloringCandidates()
2757 unsigned RAGreedy::selectOrSplit(LiveInterval &VirtReg, in selectOrSplit()
2787 unsigned RAGreedy::tryAssignCSRFirstTime(LiveInterval &VirtReg, in tryAssignCSRFirstTime()
2823 void RAGreedy::aboutToRemoveInterval(LiveInterval &LI) { in aboutToRemoveInterval()
2898 void RAGreedy::tryHintRecoloring(LiveInterval &VirtReg) { in tryHintRecoloring()
2926 LiveInterval &LI = LIS->getInterval(Reg); in tryHintRecoloring()
3007 for (LiveInterval *LI : SetOfBrokenHints) { in tryHintsRecoloring()
3018 unsigned RAGreedy::selectOrSplitImpl(LiveInterval &VirtReg, in selectOrSplitImpl()