Lines Matching refs:LR
81 Updater.setDest(&I.LR); in updateFromLiveIns()
87 void LiveRangeCalc::extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg, in extend() argument
97 auto EP = LR.extendInBlock(Undefs, Indexes->getMBBStartIdx(UseMBB), Use); in extend()
105 if (findReachingDefs(LR, *UseMBB, Use, PhysReg, Undefs)) in extend()
122 bool LiveRangeCalc::isDefOnEntry(LiveRange &LR, ArrayRef<SlotIndex> Undefs, in isDefOnEntry() argument
159 LiveRange::iterator UB = upper_bound(LR, End.getPrevSlot()); in isDefOnEntry()
160 if (UB != LR.begin()) { in isDefOnEntry()
167 if (LR.isUndefIn(Undefs, Seg.end, End)) in isDefOnEntry()
175 if (UndefOnEntry[N] || LR.isUndefIn(Undefs, Begin, End)) { in isDefOnEntry()
191 bool LiveRangeCalc::findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB, in findReachingDefs() argument
252 auto EP = LR.extendInBlock(Undefs, Start, End); in findReachingDefs()
286 LiveRangeUpdater Updater(&LR); in findReachingDefs()
304 std::make_pair(&LR, std::make_pair(BitVector(), BitVector()))); in findReachingDefs()
320 !isDefOnEntry(LR, Undefs, *MBB, DefOnEntry, UndefOnEntry)) in findReachingDefs()
322 addLiveInBlock(LR, DomTree->getNode(MBB)); in findReachingDefs()
403 LiveRange &LR = I.LR; in updateSSA() local
404 VNInfo *VNI = LR.getNextValue(Start, *Alloc); in updateSSA()
412 LR.addSegment(LiveInterval::Segment(Start, I.Kill, VNI)); in updateSSA()
415 LR.addSegment(LiveInterval::Segment(Start, End, VNI)); in updateSSA()