Lines Matching refs:LiveInterval

242     void setUndefOnPrunedSubRegUses(LiveInterval &LI, Register Reg,
263 bool isHighCostLiveInterval(LiveInterval &LI);
273 void mergeSubRangeInto(LiveInterval &LI, const LiveRange &ToMerge,
290 bool hasOtherReachingDefs(LiveInterval &IntA, LiveInterval &IntB,
328 void addUndefFlag(const LiveInterval &Int, SlotIndex UseIdx,
354 void shrinkToUses(LiveInterval *LI, in shrinkToUses()
360 SmallVector<LiveInterval*, 8> SplitLIs; in shrinkToUses()
630 LiveInterval &IntA = in adjustCopiesBackFrom()
632 LiveInterval &IntB = in adjustCopiesBackFrom()
652 LiveInterval::iterator BS = IntB.FindSegmentContaining(CopyIdx); in adjustCopiesBackFrom()
663 LiveInterval::iterator AS = IntA.FindSegmentContaining(CopyUseIdx); in adjustCopiesBackFrom()
676 LiveInterval::iterator ValS = in adjustCopiesBackFrom()
704 IntB.addSegment(LiveInterval::Segment(FillerStart, FillerEnd, BValNo)); in adjustCopiesBackFrom()
711 for (LiveInterval::SubRange &S : IntB.subranges()) { in adjustCopiesBackFrom()
714 LiveInterval::iterator SS = S.FindSegmentContaining(CopyIdx); in adjustCopiesBackFrom()
726 S.addSegment(LiveInterval::Segment(FillerStart, FillerEnd, SubBValNo)); in adjustCopiesBackFrom()
747 for (LiveInterval::SubRange &S : IntA.subranges()) { in adjustCopiesBackFrom()
748 LiveInterval::iterator SS = S.FindSegmentContaining(CopyUseIdx); in adjustCopiesBackFrom()
762 bool RegisterCoalescer::hasOtherReachingDefs(LiveInterval &IntA, in hasOtherReachingDefs()
763 LiveInterval &IntB, in hasOtherReachingDefs()
773 LiveInterval::iterator BI = llvm::upper_bound(IntB, ASeg.start); in hasOtherReachingDefs()
818 LiveInterval &IntA = in removeCopyByCommutingDef()
820 LiveInterval &IntB = in removeCopyByCommutingDef()
896 LiveInterval::iterator US = IntA.FindSegmentContaining(UseIdx); in removeCopyByCommutingDef()
947 LiveInterval::iterator US = IntA.FindSegmentContaining(UseIdx); in removeCopyByCommutingDef()
974 for (LiveInterval::SubRange &S : IntB.subranges()) { in removeCopyByCommutingDef()
1001 for (LiveInterval::SubRange &SA : IntA.subranges()) { in removeCopyByCommutingDef()
1016 &ShrinkB](LiveInterval::SubRange &SR) { in removeCopyByCommutingDef()
1030 for (LiveInterval::SubRange &SB : IntB.subranges()) { in removeCopyByCommutingDef()
1113 LiveInterval &IntA = in removePartialRedundancy()
1115 LiveInterval &IntB = in removePartialRedundancy()
1204 for (LiveInterval::SubRange &SR : IntB.subranges()) in removePartialRedundancy()
1233 for (LiveInterval::SubRange &SR : IntB.subranges()) { in removePartialRedundancy()
1293 LiveInterval &SrcInt = LIS->getInterval(SrcReg); in reMaterializeTrivialDef()
1436 LiveInterval &DstInt = LIS->getInterval(DstReg); in reMaterializeTrivialDef()
1437 for (LiveInterval::SubRange &SR : DstInt.subranges()) { in reMaterializeTrivialDef()
1470 for (LiveInterval::SubRange &SR : DstInt.subranges()) { in reMaterializeTrivialDef()
1476 LiveInterval::SubRange *SR = DstInt.createSubRange(Alloc, MaxMask); in reMaterializeTrivialDef()
1497 for (LiveInterval::SubRange &SR : DstInt.subranges()) { in reMaterializeTrivialDef()
1625 const LiveInterval &SrcLI = LIS->getInterval(SrcReg); in eliminateUndefCopy()
1629 for (const LiveInterval::SubRange &SR : SrcLI.subranges()) { in eliminateUndefCopy()
1640 LiveInterval &DstLI = LIS->getInterval(DstReg); in eliminateUndefCopy()
1668 for (LiveInterval::SubRange &SR : DstLI.subranges()) { in eliminateUndefCopy()
1690 for (const LiveInterval::SubRange &SR : DstLI.subranges()) { in eliminateUndefCopy()
1719 void RegisterCoalescer::addUndefFlag(const LiveInterval &Int, SlotIndex UseIdx, in addUndefFlag()
1725 for (const LiveInterval::SubRange &S : Int.subranges()) { in addUndefFlag()
1748 LiveInterval *DstInt = DstIsPhys ? nullptr : &LIS->getInterval(DstReg); in updateRegDefsUses()
1845 LiveInterval &JoinVInt = LIS->getInterval(CP.getSrcReg()); in canJoinPhys()
1868 void RegisterCoalescer::setUndefOnPrunedSubRegUses(LiveInterval &LI, in setUndefOnPrunedSubRegUses()
1880 for (LiveInterval::SubRange &S : LI.subranges()) { in setUndefOnPrunedSubRegUses()
1948 LiveInterval &LI = LIS->getInterval(CP.getSrcReg()); in joinCopy()
1962 for (LiveInterval::SubRange &S : LI.subranges()) { in joinCopy()
2053 LiveInterval &DstLI = LIS->getInterval(DstReg); in joinCopy()
2099 LiveInterval &LI = LIS->getInterval(CP.getDstReg()); in joinCopy()
2100 for (LiveInterval::SubRange &S : LI.subranges()) { in joinCopy()
2117 LiveInterval &LI = LIS->getInterval(CP.getDstReg()); in joinCopy()
2148 LiveInterval &RHS = LIS->getInterval(SrcReg); in joinReservedPhysReg()
2530 void pruneSubRegValues(LiveInterval &LI, LaneBitmask &ShrinkMask);
2539 void pruneMainSegments(LiveInterval &LI, bool &ShrinkMainRange);
2547 LiveInterval *LI = nullptr);
2591 const LiveInterval &LI = LIS->getInterval(SrcReg); in followCopyChain()
2601 for (const LiveInterval::SubRange &S : LI.subranges()) { in followCopyChain()
2883 for (LiveInterval::SubRange &OtherSR : OtherLI.subranges()) { in analyzeValue()
2988 LiveInterval::iterator OtherI = Other.LR.find(VNI->def); in taintExtent()
3225 void JoinVals::pruneSubRegValues(LiveInterval &LI, LaneBitmask &ShrinkMask) { in pruneSubRegValues()
3245 for (LiveInterval::SubRange &S : LI.subranges()) { in pruneSubRegValues()
3295 static bool isDefInSubRange(LiveInterval &LI, SlotIndex Def) { in isDefInSubRange()
3296 for (LiveInterval::SubRange &SR : LI.subranges()) { in isDefInSubRange()
3304 void JoinVals::pruneMainSegments(LiveInterval &LI, bool &ShrinkMainRange) { in pruneMainSegments()
3332 LiveInterval *LI) { in eraseInstrs()
3374 for (LiveInterval::SubRange &SR : LI->subranges()) { in eraseInstrs()
3488 void RegisterCoalescer::mergeSubRangeInto(LiveInterval &LI, in mergeSubRangeInto()
3496 [this, &Allocator, &ToMerge, &CP](LiveInterval::SubRange &SR) { in mergeSubRangeInto()
3508 bool RegisterCoalescer::isHighCostLiveInterval(LiveInterval &LI) { in isHighCostLiveInterval()
3521 LiveInterval &RHS = LIS->getInterval(CP.getSrcReg()); in joinVirtRegs()
3522 LiveInterval &LHS = LIS->getInterval(CP.getDstReg()); in joinVirtRegs()
3558 for (LiveInterval::SubRange &R : LHS.subranges()) { in joinVirtRegs()
3574 for (LiveInterval::SubRange &R : RHS.subranges()) { in joinVirtRegs()
3900 LiveInterval &LI = LIS->getInterval(reg); in lateLiveIntervalUpdate()
3960 const LiveInterval &DstLI = LIS->getInterval(DstReg); in applyTerminalRule()
4175 LiveInterval &LI = LIS->getInterval(Reg); in runOnMachineFunction()
4186 for (LiveInterval::SubRange &S : LI.subranges()) { in runOnMachineFunction()