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 = upper_bound(LR, End.getPrevSlot()); in isDefOnEntry()
162 if (UB != LR.begin()) { in isDefOnEntry()
169 if (LR.isUndefIn(Undefs, Seg.end, End)) in isDefOnEntry()
177 if (UndefOnEntry[N] || LR.isUndefIn(Undefs, Begin, End)) { in isDefOnEntry()
193 bool LiveRangeCalc::findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB, in findReachingDefs() argument
249 auto EP = LR.extendInBlock(Undefs, Start, End); in findReachingDefs()
283 LiveRangeUpdater Updater(&LR); in findReachingDefs()
301 std::make_pair(&LR, std::make_pair(BitVector(), BitVector()))); in findReachingDefs()
317 !isDefOnEntry(LR, Undefs, *MBB, DefOnEntry, UndefOnEntry)) in findReachingDefs()
319 addLiveInBlock(LR, DomTree->getNode(MBB)); in findReachingDefs()
400 LiveRange &LR = I.LR; in updateSSA() local
401 VNInfo *VNI = LR.getNextValue(Start, *Alloc); in updateSSA()
409 LR.addSegment(LiveInterval::Segment(Start, I.Kill, VNI)); in updateSSA()
412 LR.addSegment(LiveInterval::Segment(Start, End, VNI)); in updateSSA()