Lines Matching refs:LiveInterval
206 void mergeSubRangeInto(LiveInterval &LI, const LiveRange &ToMerge,
222 bool hasOtherReachingDefs(LiveInterval &IntA, LiveInterval &IntB,
260 void addUndefFlag(const LiveInterval &Int, SlotIndex UseIdx,
286 void shrinkToUses(LiveInterval *LI, in shrinkToUses()
292 SmallVector<LiveInterval*, 8> SplitLIs; in shrinkToUses()
538 LiveInterval &IntA = in adjustCopiesBackFrom()
540 LiveInterval &IntB = in adjustCopiesBackFrom()
560 LiveInterval::iterator BS = IntB.FindSegmentContaining(CopyIdx); in adjustCopiesBackFrom()
571 LiveInterval::iterator AS = IntA.FindSegmentContaining(CopyUseIdx); in adjustCopiesBackFrom()
584 LiveInterval::iterator ValS = in adjustCopiesBackFrom()
612 IntB.addSegment(LiveInterval::Segment(FillerStart, FillerEnd, BValNo)); in adjustCopiesBackFrom()
619 for (LiveInterval::SubRange &S : IntB.subranges()) { in adjustCopiesBackFrom()
622 LiveInterval::iterator SS = S.FindSegmentContaining(CopyIdx); in adjustCopiesBackFrom()
628 S.addSegment(LiveInterval::Segment(FillerStart, FillerEnd, SubBValNo)); in adjustCopiesBackFrom()
649 for (LiveInterval::SubRange &S : IntA.subranges()) { in adjustCopiesBackFrom()
650 LiveInterval::iterator SS = S.FindSegmentContaining(CopyUseIdx); in adjustCopiesBackFrom()
664 bool RegisterCoalescer::hasOtherReachingDefs(LiveInterval &IntA, in hasOtherReachingDefs()
665 LiveInterval &IntB, in hasOtherReachingDefs()
675 LiveInterval::iterator BI = in hasOtherReachingDefs()
721 LiveInterval &IntA = in removeCopyByCommutingDef()
723 LiveInterval &IntB = in removeCopyByCommutingDef()
799 LiveInterval::iterator US = IntA.FindSegmentContaining(UseIdx); in removeCopyByCommutingDef()
853 LiveInterval::iterator US = IntA.FindSegmentContaining(UseIdx); in removeCopyByCommutingDef()
880 for (LiveInterval::SubRange &S : IntB.subranges()) { in removeCopyByCommutingDef()
906 for (LiveInterval::SubRange &SA : IntA.subranges()) { in removeCopyByCommutingDef()
913 (LiveInterval::SubRange &SR) { in removeCopyByCommutingDef()
927 for (LiveInterval::SubRange &SB : IntB.subranges()) { in removeCopyByCommutingDef()
1008 LiveInterval &IntA = in removePartialRedundancy()
1010 LiveInterval &IntB = in removePartialRedundancy()
1099 for (LiveInterval::SubRange &SR : IntB.subranges()) in removePartialRedundancy()
1128 for (LiveInterval::SubRange &SR : IntB.subranges()) { in removePartialRedundancy()
1185 LiveInterval &SrcInt = LIS->getInterval(SrcReg); in reMaterializeTrivialDef()
1325 LiveInterval &DstInt = LIS->getInterval(DstReg); in reMaterializeTrivialDef()
1326 for (LiveInterval::SubRange &SR : DstInt.subranges()) { in reMaterializeTrivialDef()
1359 for (LiveInterval::SubRange &SR : DstInt.subranges()) { in reMaterializeTrivialDef()
1365 LiveInterval::SubRange *SR = DstInt.createSubRange(Alloc, MaxMask); in reMaterializeTrivialDef()
1383 for (LiveInterval::SubRange &SR : DstInt.subranges()) { in reMaterializeTrivialDef()
1500 const LiveInterval &SrcLI = LIS->getInterval(SrcReg); in eliminateUndefCopy()
1504 for (const LiveInterval::SubRange &SR : SrcLI.subranges()) { in eliminateUndefCopy()
1515 LiveInterval &DstLI = LIS->getInterval(DstReg); in eliminateUndefCopy()
1543 for (LiveInterval::SubRange &SR : DstLI.subranges()) { in eliminateUndefCopy()
1565 for (const LiveInterval::SubRange &SR : DstLI.subranges()) { in eliminateUndefCopy()
1594 void RegisterCoalescer::addUndefFlag(const LiveInterval &Int, SlotIndex UseIdx, in addUndefFlag()
1600 for (const LiveInterval::SubRange &S : Int.subranges()) { in addUndefFlag()
1624 LiveInterval *DstInt = DstIsPhys ? nullptr : &LIS->getInterval(DstReg); in updateRegDefsUses()
1711 LiveInterval &JoinVInt = LIS->getInterval(CP.getSrcReg()); in canJoinPhys()
1771 LiveInterval &LI = LIS->getInterval(CP.getSrcReg()); in joinCopy()
1782 for (LiveInterval::SubRange &S : LI.subranges()) { in joinCopy()
1857 LiveInterval &DstLI = LIS->getInterval(DstReg); in joinCopy()
1903 LiveInterval &LI = LIS->getInterval(CP.getDstReg()); in joinCopy()
1904 for (LiveInterval::SubRange &S : LI.subranges()) { in joinCopy()
1921 LiveInterval &LI = LIS->getInterval(CP.getDstReg()); in joinCopy()
1952 LiveInterval &RHS = LIS->getInterval(SrcReg); in joinReservedPhysReg()
2331 void pruneSubRegValues(LiveInterval &LI, LaneBitmask &ShrinkMask);
2340 void pruneMainSegments(LiveInterval &LI, bool &ShrinkMainRange);
2348 LiveInterval *LI = nullptr);
2387 const LiveInterval &LI = LIS->getInterval(SrcReg); in followCopyChain()
2397 for (const LiveInterval::SubRange &S : LI.subranges()) { in followCopyChain()
2760 LiveInterval::iterator OtherI = Other.LR.find(VNI->def); in taintExtent()
2987 void JoinVals::pruneSubRegValues(LiveInterval &LI, LaneBitmask &ShrinkMask) { in pruneSubRegValues()
3007 for (LiveInterval::SubRange &S : LI.subranges()) { in pruneSubRegValues()
3045 static bool isDefInSubRange(LiveInterval &LI, SlotIndex Def) { in isDefInSubRange()
3046 for (LiveInterval::SubRange &SR : LI.subranges()) { in isDefInSubRange()
3054 void JoinVals::pruneMainSegments(LiveInterval &LI, bool &ShrinkMainRange) { in pruneMainSegments()
3082 LiveInterval *LI) { in eraseInstrs()
3125 for (LiveInterval::SubRange &SR : LI->subranges()) { in eraseInstrs()
3239 void RegisterCoalescer::mergeSubRangeInto(LiveInterval &LI, in mergeSubRangeInto()
3245 [this,&Allocator,&ToMerge,&CP](LiveInterval::SubRange &SR) { in mergeSubRangeInto()
3258 LiveInterval &RHS = LIS->getInterval(CP.getSrcReg()); in joinVirtRegs()
3259 LiveInterval &LHS = LIS->getInterval(CP.getDstReg()); in joinVirtRegs()
3292 for (LiveInterval::SubRange &R : LHS.subranges()) { in joinVirtRegs()
3308 for (LiveInterval::SubRange &R : RHS.subranges()) { in joinVirtRegs()
3431 LiveInterval &LI = LIS->getInterval(reg); in lateLiveIntervalUpdate()
3490 const LiveInterval &DstLI = LIS->getInterval(DstReg); in applyTerminalRule()
3673 LiveInterval &LI = LIS->getInterval(Reg); in runOnMachineFunction()
3684 for (LiveInterval::SubRange &S : LI.subranges()) { in runOnMachineFunction()