Lines Matching refs:LiveInterval

231     void setUndefOnPrunedSubRegUses(LiveInterval &LI, Register Reg,
253 bool isHighCostLiveInterval(LiveInterval &LI);
263 void mergeSubRangeInto(LiveInterval &LI, const LiveRange &ToMerge,
280 bool hasOtherReachingDefs(LiveInterval &IntA, LiveInterval &IntB,
318 void addUndefFlag(const LiveInterval &Int, SlotIndex UseIdx,
344 void shrinkToUses(LiveInterval *LI, in shrinkToUses()
350 SmallVector<LiveInterval*, 8> SplitLIs; in shrinkToUses()
620 LiveInterval &IntA = in adjustCopiesBackFrom()
622 LiveInterval &IntB = in adjustCopiesBackFrom()
642 LiveInterval::iterator BS = IntB.FindSegmentContaining(CopyIdx); in adjustCopiesBackFrom()
653 LiveInterval::iterator AS = IntA.FindSegmentContaining(CopyUseIdx); in adjustCopiesBackFrom()
666 LiveInterval::iterator ValS = in adjustCopiesBackFrom()
694 IntB.addSegment(LiveInterval::Segment(FillerStart, FillerEnd, BValNo)); in adjustCopiesBackFrom()
701 for (LiveInterval::SubRange &S : IntB.subranges()) { in adjustCopiesBackFrom()
704 LiveInterval::iterator SS = S.FindSegmentContaining(CopyIdx); in adjustCopiesBackFrom()
716 S.addSegment(LiveInterval::Segment(FillerStart, FillerEnd, SubBValNo)); in adjustCopiesBackFrom()
737 for (LiveInterval::SubRange &S : IntA.subranges()) { in adjustCopiesBackFrom()
738 LiveInterval::iterator SS = S.FindSegmentContaining(CopyUseIdx); in adjustCopiesBackFrom()
752 bool RegisterCoalescer::hasOtherReachingDefs(LiveInterval &IntA, in hasOtherReachingDefs()
753 LiveInterval &IntB, in hasOtherReachingDefs()
763 LiveInterval::iterator BI = llvm::upper_bound(IntB, ASeg.start); in hasOtherReachingDefs()
808 LiveInterval &IntA = in removeCopyByCommutingDef()
810 LiveInterval &IntB = in removeCopyByCommutingDef()
886 LiveInterval::iterator US = IntA.FindSegmentContaining(UseIdx); in removeCopyByCommutingDef()
936 LiveInterval::iterator US = IntA.FindSegmentContaining(UseIdx); in removeCopyByCommutingDef()
963 for (LiveInterval::SubRange &S : IntB.subranges()) { in removeCopyByCommutingDef()
990 for (LiveInterval::SubRange &SA : IntA.subranges()) { in removeCopyByCommutingDef()
1005 &ShrinkB](LiveInterval::SubRange &SR) { in removeCopyByCommutingDef()
1019 for (LiveInterval::SubRange &SB : IntB.subranges()) { in removeCopyByCommutingDef()
1102 LiveInterval &IntA = in removePartialRedundancy()
1104 LiveInterval &IntB = in removePartialRedundancy()
1193 for (LiveInterval::SubRange &SR : IntB.subranges()) in removePartialRedundancy()
1237 for (LiveInterval::SubRange &SR : IntB.subranges()) { in removePartialRedundancy()
1297 LiveInterval &SrcInt = LIS->getInterval(SrcReg); in reMaterializeTrivialDef()
1490 LiveInterval &DstInt = LIS->getInterval(DstReg); in reMaterializeTrivialDef()
1491 for (LiveInterval::SubRange &SR : DstInt.subranges()) { in reMaterializeTrivialDef()
1524 for (LiveInterval::SubRange &SR : DstInt.subranges()) { in reMaterializeTrivialDef()
1530 LiveInterval::SubRange *SR = DstInt.createSubRange(Alloc, MaxMask); in reMaterializeTrivialDef()
1551 for (LiveInterval::SubRange &SR : DstInt.subranges()) { in reMaterializeTrivialDef()
1687 const LiveInterval &SrcLI = LIS->getInterval(SrcReg); in eliminateUndefCopy()
1691 for (const LiveInterval::SubRange &SR : SrcLI.subranges()) { in eliminateUndefCopy()
1702 LiveInterval &DstLI = LIS->getInterval(DstReg); in eliminateUndefCopy()
1739 for (LiveInterval::SubRange &SR : DstLI.subranges()) { in eliminateUndefCopy()
1761 for (const LiveInterval::SubRange &SR : DstLI.subranges()) { in eliminateUndefCopy()
1790 void RegisterCoalescer::addUndefFlag(const LiveInterval &Int, SlotIndex UseIdx, in addUndefFlag()
1796 for (const LiveInterval::SubRange &S : Int.subranges()) { in addUndefFlag()
1819 LiveInterval *DstInt = DstIsPhys ? nullptr : &LIS->getInterval(DstReg); in updateRegDefsUses()
1916 LiveInterval &JoinVInt = LIS->getInterval(CP.getSrcReg()); in canJoinPhys()
1939 void RegisterCoalescer::setUndefOnPrunedSubRegUses(LiveInterval &LI, in setUndefOnPrunedSubRegUses()
1951 for (LiveInterval::SubRange &S : LI.subranges()) { in setUndefOnPrunedSubRegUses()
2021 LiveInterval &LI = LIS->getInterval(CP.getSrcReg()); in joinCopy()
2035 for (LiveInterval::SubRange &S : LI.subranges()) { in joinCopy()
2126 LiveInterval &DstLI = LIS->getInterval(DstReg); in joinCopy()
2174 LiveInterval &LI = LIS->getInterval(CP.getDstReg()); in joinCopy()
2175 for (LiveInterval::SubRange &S : LI.subranges()) { in joinCopy()
2193 LiveInterval &LI = LIS->getInterval(CP.getDstReg()); in joinCopy()
2224 LiveInterval &RHS = LIS->getInterval(SrcReg); in joinReservedPhysReg()
2616 void pruneSubRegValues(LiveInterval &LI, LaneBitmask &ShrinkMask);
2625 void pruneMainSegments(LiveInterval &LI, bool &ShrinkMainRange);
2633 LiveInterval *LI = nullptr);
2677 const LiveInterval &LI = LIS->getInterval(SrcReg); in followCopyChain()
2687 for (const LiveInterval::SubRange &S : LI.subranges()) { in followCopyChain()
2987 for (LiveInterval::SubRange &OtherSR : OtherLI.subranges()) { in analyzeValue()
3078 LiveInterval::iterator OtherI = Other.LR.find(VNI->def); in taintExtent()
3315 void JoinVals::pruneSubRegValues(LiveInterval &LI, LaneBitmask &ShrinkMask) { in pruneSubRegValues()
3335 for (LiveInterval::SubRange &S : LI.subranges()) { in pruneSubRegValues()
3385 static bool isDefInSubRange(LiveInterval &LI, SlotIndex Def) { in isDefInSubRange()
3386 for (LiveInterval::SubRange &SR : LI.subranges()) { in isDefInSubRange()
3394 void JoinVals::pruneMainSegments(LiveInterval &LI, bool &ShrinkMainRange) { in pruneMainSegments()
3422 LiveInterval *LI) { in eraseInstrs()
3464 for (LiveInterval::SubRange &SR : LI->subranges()) { in eraseInstrs()
3577 void RegisterCoalescer::mergeSubRangeInto(LiveInterval &LI, in mergeSubRangeInto()
3585 [this, &Allocator, &ToMerge, &CP](LiveInterval::SubRange &SR) { in mergeSubRangeInto()
3597 bool RegisterCoalescer::isHighCostLiveInterval(LiveInterval &LI) { in isHighCostLiveInterval()
3610 LiveInterval &RHS = LIS->getInterval(CP.getSrcReg()); in joinVirtRegs()
3611 LiveInterval &LHS = LIS->getInterval(CP.getDstReg()); in joinVirtRegs()
3647 for (LiveInterval::SubRange &R : LHS.subranges()) { in joinVirtRegs()
3663 for (LiveInterval::SubRange &R : RHS.subranges()) { in joinVirtRegs()
3979 LiveInterval &LI = LIS->getInterval(reg); in lateLiveIntervalUpdate()
4051 const LiveInterval &DstLI = LIS->getInterval(DstReg); in applyTerminalRule()
4263 LiveInterval &LI = LIS->getInterval(Reg); in runOnMachineFunction()
4274 for (LiveInterval::SubRange &S : LI.subranges()) { in runOnMachineFunction()