Lines Matching refs:LI
78 bool renameComponents(LiveInterval &LI) const;
85 LiveInterval &LI) const;
122 bool RenameIndependentSubregs::renameComponents(LiveInterval &LI) const { in INITIALIZE_PASS_DEPENDENCY()
124 if (LI.valnos.size() < 2) in INITIALIZE_PASS_DEPENDENCY()
129 if (!findComponents(Classes, SubRangeInfos, LI)) in INITIALIZE_PASS_DEPENDENCY()
133 Register Reg = LI.reg(); in INITIALIZE_PASS_DEPENDENCY()
136 Intervals.push_back(&LI); in INITIALIZE_PASS_DEPENDENCY()
157 LiveInterval &LI) const { in findComponents()
161 for (LiveInterval::SubRange &SR : LI.subranges()) { in findComponents()
178 Register Reg = LI.reg(); in findComponents()
291 static bool subRangeLiveAt(const LiveInterval &LI, SlotIndex Pos) { in subRangeLiveAt() argument
292 for (const LiveInterval::SubRange &SR : LI.subranges()) { in subRangeLiveAt()
306 LiveInterval &LI = *Intervals[I]; in computeMainRangesFixFlags() local
307 Register Reg = LI.reg(); in computeMainRangesFixFlags()
309 LI.removeEmptySubRanges(); in computeMainRangesFixFlags()
314 for (const LiveInterval::SubRange &SR : LI.subranges()) { in computeMainRangesFixFlags()
327 if (subRangeLiveAt(LI, PredEnd.getPrevSlot())) in computeMainRangesFixFlags()
338 for (LiveInterval::SubRange &SR : LI.subranges()) { in computeMainRangesFixFlags()
345 LiveInterval::SubRange *SR = LI.createSubRange(Allocator, Mask); in computeMainRangesFixFlags()
363 if (!subRangeLiveAt(LI, Pos)) in computeMainRangesFixFlags()
368 if (!subRangeLiveAt(LI, Pos)) in computeMainRangesFixFlags()
374 LI.clear(); in computeMainRangesFixFlags()
375 LIS->constructMainRangeFromSubranges(LI); in computeMainRangesFixFlags()
380 LIS->shrinkToUses(&LI); in computeMainRangesFixFlags()
404 LiveInterval &LI = LIS->getInterval(Reg); in runOnMachineFunction() local
405 if (!LI.hasSubRanges()) in runOnMachineFunction()
408 Changed |= renameComponents(LI); in runOnMachineFunction()