Lines Matching refs:LiveRange
115 for (LiveRange *LR : RegUnitRanges) in releaseMemory()
157 if (LiveRange *LR = RegUnitRanges[Unit]) in print()
275 void LiveIntervals::computeRegUnitRange(LiveRange &LR, unsigned Unit) { in computeRegUnitRange()
342 LiveRange *LR = RegUnitRanges[Unit]; in computeLiveInRegUnits()
345 LR = RegUnitRanges[Unit] = new LiveRange(UseSegmentSetForPhysRegs); in computeLiveInRegUnits()
362 static void createSegmentsForValues(LiveRange &LR, in createSegmentsForValues()
368 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues()
372 void LiveIntervals::extendSegmentsToUses(LiveRange &Segments, in extendSegmentsToUses()
381 -> const LiveRange& { in extendSegmentsToUses()
394 const LiveRange &OldRange = getSubRange(LI, LaneMask); in extendSegmentsToUses()
426 Segments.addSegment(LiveRange::Segment(BlockStart, Idx, VNI)); in extendSegmentsToUses()
499 LiveRange NewLR; in shrinkToUses()
521 LiveRange::iterator I = LI.FindSegmentContaining(Def); in computeDeadValues()
603 LiveRange NewLR; in shrinkToUses()
614 const LiveRange::Segment *Segment = SR.getSegmentContaining(VNI->def); in shrinkToUses()
630 void LiveIntervals::extendToIndices(LiveRange &LR, in extendToIndices()
639 void LiveIntervals::pruneValue(LiveRange &LR, SlotIndex Kill, in pruneValue()
703 SmallVector<std::pair<const LiveRange*, LiveRange::const_iterator>, 8> RU; in addKillFlags()
706 LiveRange::const_iterator>, 4> SRs; in addKillFlags()
721 const LiveRange &RURange = getRegUnit(*Unit); in addKillFlags()
754 const LiveRange &RURange = *RUP.first; in addKillFlags()
755 LiveRange::const_iterator &I = RUP.second; in addKillFlags()
783 LiveRange::const_iterator &I = SRP.second; in addKillFlags()
817 LiveRange::const_iterator N = std::next(RI); in addKillFlags()
883 LiveRange::Segment
889 LiveRange::Segment S(SlotIndex(getInstructionIndex(startInst).getRegSlot()), in addSegmentToEndOfBlock()
966 SmallPtrSet<LiveRange*, 8> Updated;
980 LiveRange *getRegUnitLI(unsigned Unit) { in getRegUnitLI()
1042 if (LiveRange *LR = getRegUnitLI(*Units)) in updateAllRanges()
1052 void updateRange(LiveRange &LR, Register Reg, LaneBitmask LaneMask) { in updateRange()
1076 void handleMoveDown(LiveRange &LR) { in handleMoveDown()
1077 LiveRange::iterator E = LR.end(); in handleMoveDown()
1079 LiveRange::iterator OldIdxIn = LR.find(OldIdx.getBaseIndex()); in handleMoveDown()
1085 LiveRange::iterator OldIdxOut; in handleMoveDown()
1100 LiveRange::iterator Next = std::next(OldIdxIn); in handleMoveDown()
1105 LiveRange::iterator NewIdxIn = in handleMoveDown()
1110 LiveRange::iterator Prev = std::prev(NewIdxIn); in handleMoveDown()
1154 LiveRange::iterator AfterNewIdx in handleMoveDown()
1166 LiveRange::iterator IPrev = std::prev(OldIdxOut); in handleMoveDown()
1171 LiveRange::iterator INext = std::next(OldIdxOut); in handleMoveDown()
1189 LiveRange::iterator NewSegment = std::prev(E); in handleMoveDown()
1190 *NewSegment = LiveRange::Segment(NewIdxDef, NewIdxDef.getDeadSlot(), in handleMoveDown()
1194 LiveRange::iterator Prev = std::prev(NewSegment); in handleMoveDown()
1202 LiveRange::iterator Prev = std::prev(AfterNewIdx); in handleMoveDown()
1207 LiveRange::iterator NewSegment = AfterNewIdx; in handleMoveDown()
1208 *NewSegment = LiveRange::Segment(NewIdxDef, Prev->end, Prev->valno); in handleMoveDown()
1211 *Prev = LiveRange::Segment(Prev->start, NewIdxDef, DefVNI); in handleMoveDown()
1216 *Prev = LiveRange::Segment(NewIdxDef, AfterNewIdx->start, DefVNI); in handleMoveDown()
1239 LiveRange::iterator NewSegment = std::prev(AfterNewIdx); in handleMoveDown()
1242 *NewSegment = LiveRange::Segment(NewIdxDef, NewIdxDef.getDeadSlot(), in handleMoveDown()
1249 void handleMoveUp(LiveRange &LR, Register Reg, LaneBitmask LaneMask) { in handleMoveUp()
1250 LiveRange::iterator E = LR.end(); in handleMoveUp()
1252 LiveRange::iterator OldIdxIn = LR.find(OldIdx.getBaseIndex()); in handleMoveUp()
1258 LiveRange::iterator OldIdxOut; in handleMoveUp()
1294 LiveRange::iterator NewIdxOut = LR.find(NewIdx.getRegSlot()); in handleMoveUp()
1317 LiveRange::iterator NewIdxIn = NewIdxOut; in handleMoveUp()
1323 LiveRange::iterator Prev = std::prev(OldIdxIn); in handleMoveUp()
1338 *OldIdxOut = LiveRange::Segment(OldIdxIn->start, OldIdxOut->end, in handleMoveUp()
1347 LiveRange::iterator NewSegment = NewIdxIn; in handleMoveUp()
1348 LiveRange::iterator Next = std::next(NewSegment); in handleMoveUp()
1351 *NewSegment = LiveRange::Segment(Next->start, SplitPos, in handleMoveUp()
1354 *Next = LiveRange::Segment(SplitPos, NewDefEndPoint, OldIdxVNI); in handleMoveUp()
1359 *NewSegment = LiveRange::Segment(SplitPos, Next->start, OldIdxVNI); in handleMoveUp()
1384 *NewIdxOut = LiveRange::Segment( in handleMoveUp()
1386 *(NewIdxOut + 1) = LiveRange::Segment( in handleMoveUp()
1407 LiveRange::iterator NewSegment = NewIdxOut; in handleMoveUp()
1409 *NewSegment = LiveRange::Segment(NewIdxDef, NewIdxDef.getDeadSlot(), in handleMoveUp()
1544 const SlotIndex EndIdx, LiveRange &LR, in repairOldRegInRange()
1610 LiveRange::Segment S(instrIdx.getRegSlot(), in repairOldRegInRange()
1615 LiveRange::Segment S(instrIdx.getRegSlot(), lastUseIdx, VNI); in repairOldRegInRange()
1689 if (LiveRange *LR = getCachedRegUnit(*Unit)) in removePhysRegDefAt()