Lines Matching refs:LI
43 void LiveIntervalCalc::calculate(LiveInterval &LI, bool TrackSubRegs) { in calculate() argument
54 unsigned Reg = LI.reg(); in calculate()
60 if (LI.hasSubRanges() || (SubReg != 0 && TrackSubRegs)) { in calculate()
65 if (!LI.hasSubRanges() && !LI.empty()) { in calculate()
67 LI.createSubRangeFrom(*Alloc, ClassMask, LI); in calculate()
70 LI.refineSubRanges( in calculate()
81 if (MO.isDef() && !LI.hasSubRanges()) in calculate()
82 createDeadDef(*Indexes, *Alloc, LI, MO); in calculate()
87 LI.removeEmptySubRanges(); in calculate()
93 if (LI.hasSubRanges()) { in calculate()
94 for (LiveInterval::SubRange &S : LI.subranges()) { in calculate()
97 SubLIC.extendToUses(S, Reg, S.LaneMask, &LI); in calculate()
99 LI.clear(); in calculate()
100 constructMainRangeFromSubranges(LI); in calculate()
103 extendToUses(LI, Reg, LaneBitmask::getAll()); in calculate()
107 void LiveIntervalCalc::constructMainRangeFromSubranges(LiveInterval &LI) { in constructMainRangeFromSubranges() argument
109 LiveRange &MainRange = LI; in constructMainRangeFromSubranges()
114 for (const LiveInterval::SubRange &SR : LI.subranges()) { in constructMainRangeFromSubranges()
121 extendToUses(MainRange, LI.reg(), LaneBitmask::getAll(), &LI); in constructMainRangeFromSubranges()
137 LaneBitmask Mask, LiveInterval *LI) { in extendToUses() argument
141 if (LI != nullptr) in extendToUses()
142 LI->computeSubRangeUndefs(Undefs, Mask, *MRI, *Indexes); in extendToUses()