Lines Matching refs:LR
83 Updater.setDest(&I.LR); in updateFromLiveIns()
89 void LiveRangeCalc::extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg, in extend() argument
99 auto EP = LR.extendInBlock(Undefs, Indexes->getMBBStartIdx(UseMBB), Use); in extend()
107 if (findReachingDefs(LR, *UseMBB, Use, PhysReg, Undefs)) in extend()
124 bool LiveRangeCalc::isDefOnEntry(LiveRange &LR, ArrayRef<SlotIndex> Undefs, in isDefOnEntry() argument
161 LiveRange::iterator UB = std::upper_bound(LR.begin(), LR.end(), in isDefOnEntry()
163 if (UB != LR.begin()) { in isDefOnEntry()
170 if (LR.isUndefIn(Undefs, Seg.end, End)) in isDefOnEntry()
178 if (UndefOnEntry[N] || LR.isUndefIn(Undefs, Begin, End)) { in isDefOnEntry()
194 bool LiveRangeCalc::findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB, in findReachingDefs() argument
250 auto EP = LR.extendInBlock(Undefs, Start, End); in findReachingDefs()
284 LiveRangeUpdater Updater(&LR); in findReachingDefs()
302 std::make_pair(&LR, std::make_pair(BitVector(), BitVector()))); in findReachingDefs()
318 !isDefOnEntry(LR, Undefs, *MBB, DefOnEntry, UndefOnEntry)) in findReachingDefs()
320 addLiveInBlock(LR, DomTree->getNode(MBB)); in findReachingDefs()
401 LiveRange &LR = I.LR; in updateSSA() local
402 VNInfo *VNI = LR.getNextValue(Start, *Alloc); in updateSSA()
410 LR.addSegment(LiveInterval::Segment(Start, I.Kill, VNI)); in updateSSA()
413 LR.addSegment(LiveInterval::Segment(Start, End, VNI)); in updateSSA()