Lines Matching refs:LiveRange
151 if (LiveRange *LR = RegUnitRanges[i]) in print()
258 void LiveIntervals::computeRegUnitRange(LiveRange &LR, unsigned Unit) { in computeRegUnitRange()
318 LiveRange *LR = RegUnitRanges[Unit]; in computeLiveInRegUnits()
321 LR = RegUnitRanges[Unit] = new LiveRange(UseSegmentSetForPhysRegs); in computeLiveInRegUnits()
341 static void createSegmentsForValues(LiveRange &LR, in createSegmentsForValues()
347 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues()
353 static void extendSegmentsToUses(LiveRange &LR, const SlotIndexes &Indexes, in extendSegmentsToUses()
355 const LiveRange &OldRange) { in extendSegmentsToUses()
391 LR.addSegment(LiveRange::Segment(BlockStart, Idx, VNI)); in extendSegmentsToUses()
452 LiveRange NewLR; in shrinkToUses()
472 LiveRange::iterator I = LI.FindSegmentContaining(Def); in computeDeadValues()
550 LiveRange NewLR; in shrinkToUses()
561 const LiveRange::Segment *Segment = SR.getSegmentContaining(VNI->def); in shrinkToUses()
576 void LiveIntervals::extendToIndices(LiveRange &LR, in extendToIndices()
584 void LiveIntervals::pruneValue(LiveRange &LR, SlotIndex Kill, in pruneValue()
650 SmallVector<std::pair<const LiveRange*, LiveRange::const_iterator>, 8> RU; in addKillFlags()
653 LiveRange::const_iterator>, 4> SRs; in addKillFlags()
668 const LiveRange &RURange = getRegUnit(*Units); in addKillFlags()
701 const LiveRange &RURange = *RUP.first; in addKillFlags()
702 LiveRange::const_iterator &I = RUP.second; in addKillFlags()
730 LiveRange::const_iterator &I = SRP.second; in addKillFlags()
764 LiveRange::const_iterator N = std::next(RI); in addKillFlags()
827 LiveRange::Segment
833 LiveRange::Segment S(SlotIndex(getInstructionIndex(startInst).getRegSlot()), in addSegmentToEndOfBlock()
912 SmallPtrSet<LiveRange*, 8> Updated;
926 LiveRange *getRegUnitLI(unsigned Unit) { in getRegUnitLI()
971 if (LiveRange *LR = getRegUnitLI(*Units)) in updateAllRanges()
981 void updateRange(LiveRange &LR, unsigned Reg, LaneBitmask LaneMask) { in updateRange()
1005 void handleMoveDown(LiveRange &LR) { in handleMoveDown()
1006 LiveRange::iterator E = LR.end(); in handleMoveDown()
1008 LiveRange::iterator OldIdxIn = LR.find(OldIdx.getBaseIndex()); in handleMoveDown()
1014 LiveRange::iterator OldIdxOut; in handleMoveDown()
1029 LiveRange::iterator Next = std::next(OldIdxIn); in handleMoveDown()
1034 LiveRange::iterator NewIdxIn = in handleMoveDown()
1039 LiveRange::iterator Prev = std::prev(NewIdxIn); in handleMoveDown()
1081 LiveRange::iterator AfterNewIdx in handleMoveDown()
1093 LiveRange::iterator IPrev = std::prev(OldIdxOut); in handleMoveDown()
1098 LiveRange::iterator INext = std::next(OldIdxOut); in handleMoveDown()
1116 LiveRange::iterator NewSegment = std::prev(E); in handleMoveDown()
1117 *NewSegment = LiveRange::Segment(NewIdxDef, NewIdxDef.getDeadSlot(), in handleMoveDown()
1121 LiveRange::iterator Prev = std::prev(NewSegment); in handleMoveDown()
1129 LiveRange::iterator Prev = std::prev(AfterNewIdx); in handleMoveDown()
1134 LiveRange::iterator NewSegment = AfterNewIdx; in handleMoveDown()
1135 *NewSegment = LiveRange::Segment(NewIdxDef, Prev->end, Prev->valno); in handleMoveDown()
1138 *Prev = LiveRange::Segment(Prev->start, NewIdxDef, DefVNI); in handleMoveDown()
1143 *Prev = LiveRange::Segment(NewIdxDef, AfterNewIdx->start, DefVNI); in handleMoveDown()
1166 LiveRange::iterator NewSegment = std::prev(AfterNewIdx); in handleMoveDown()
1169 *NewSegment = LiveRange::Segment(NewIdxDef, NewIdxDef.getDeadSlot(), in handleMoveDown()
1176 void handleMoveUp(LiveRange &LR, unsigned Reg, LaneBitmask LaneMask) { in handleMoveUp()
1177 LiveRange::iterator E = LR.end(); in handleMoveUp()
1179 LiveRange::iterator OldIdxIn = LR.find(OldIdx.getBaseIndex()); in handleMoveUp()
1185 LiveRange::iterator OldIdxOut; in handleMoveUp()
1221 LiveRange::iterator NewIdxOut = LR.find(NewIdx.getRegSlot()); in handleMoveUp()
1244 LiveRange::iterator NewIdxIn = NewIdxOut; in handleMoveUp()
1249 *OldIdxOut = LiveRange::Segment(OldIdxIn->start, OldIdxOut->end, in handleMoveUp()
1258 LiveRange::iterator NewSegment = NewIdxIn; in handleMoveUp()
1259 LiveRange::iterator Next = std::next(NewSegment); in handleMoveUp()
1262 *NewSegment = LiveRange::Segment(Next->start, SplitPos, in handleMoveUp()
1264 *Next = LiveRange::Segment(SplitPos, Next->end, OldIdxVNI); in handleMoveUp()
1269 *NewSegment = LiveRange::Segment(SplitPos, Next->start, OldIdxVNI); in handleMoveUp()
1287 LiveRange::iterator NewSegment = NewIdxOut; in handleMoveUp()
1289 *NewSegment = LiveRange::Segment(NewIdxDef, NewIdxDef.getDeadSlot(), in handleMoveUp()
1393 LiveRange &LR, const unsigned Reg, in repairOldRegInRange()
1453 LiveRange::Segment S(instrIdx.getRegSlot(), in repairOldRegInRange()
1458 LiveRange::Segment S(instrIdx.getRegSlot(), lastUseIdx, VNI); in repairOldRegInRange()
1534 if (LiveRange *LR = getCachedRegUnit(*Units)) in removePhysRegDefAt()