Lines Matching refs:LI
42 void LiveIntervalCalc::calculate(LiveInterval &LI, bool TrackSubRegs) { in calculate() argument
53 Register Reg = LI.reg(); in calculate()
59 if (LI.hasSubRanges() || (SubReg != 0 && TrackSubRegs)) { in calculate()
64 if (!LI.hasSubRanges() && !LI.empty()) { in calculate()
66 LI.createSubRangeFrom(*Alloc, ClassMask, LI); in calculate()
69 LI.refineSubRanges( in calculate()
80 if (MO.isDef() && !LI.hasSubRanges()) in calculate()
81 createDeadDef(*Indexes, *Alloc, LI, MO); in calculate()
86 LI.removeEmptySubRanges(); in calculate()
92 if (LI.hasSubRanges()) { in calculate()
93 for (LiveInterval::SubRange &S : LI.subranges()) { in calculate()
96 SubLIC.extendToUses(S, Reg, S.LaneMask, &LI); in calculate()
98 LI.clear(); in calculate()
99 constructMainRangeFromSubranges(LI); in calculate()
102 extendToUses(LI, Reg, LaneBitmask::getAll()); in calculate()
106 void LiveIntervalCalc::constructMainRangeFromSubranges(LiveInterval &LI) { in constructMainRangeFromSubranges() argument
108 LiveRange &MainRange = LI; in constructMainRangeFromSubranges()
113 for (const LiveInterval::SubRange &SR : LI.subranges()) { in constructMainRangeFromSubranges()
120 extendToUses(MainRange, LI.reg(), LaneBitmask::getAll(), &LI); in constructMainRangeFromSubranges()
136 LaneBitmask Mask, LiveInterval *LI) { in extendToUses() argument
140 if (LI != nullptr) in extendToUses()
141 LI->computeSubRangeUndefs(Undefs, Mask, *MRI, *Indexes); in extendToUses()