Lines Matching defs:LR
80 Updater.setDest(&I.LR);
86 void LiveRangeCalc::extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg,
96 auto EP = LR.extendInBlock(Undefs, Indexes->getMBBStartIdx(UseMBB), Use);
104 if (findReachingDefs(LR, *UseMBB, Use, PhysReg, Undefs))
121 bool LiveRangeCalc::isDefOnEntry(LiveRange &LR, ArrayRef<SlotIndex> Undefs,
155 // If LR has a segment S that starts at the next block, i.e. [End, ...),
158 LiveRange::iterator UB = upper_bound(LR, End.getPrevSlot());
159 if (UB != LR.begin()) {
166 if (LR.isUndefIn(Undefs, Seg.end, End))
174 if (UndefOnEntry[N] || LR.isUndefIn(Undefs, Begin, End)) {
190 bool LiveRangeCalc::findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB,
195 // Block numbers where LR should be live-in.
251 auto EP = LR.extendInBlock(Undefs, Start, End);
285 LiveRangeUpdater Updater(&LR);
303 std::make_pair(&LR, std::make_pair(BitVector(), BitVector())));
319 !isDefOnEntry(LR, Undefs, *MBB, DefOnEntry, UndefOnEntry))
321 addLiveInBlock(LR, DomTree->getNode(MBB));
402 LiveRange &LR = I.LR;
403 VNInfo *VNI = LR.getNextValue(Start, *Alloc);
411 LR.addSegment(LiveInterval::Segment(Start, I.Kill, VNI));
414 LR.addSegment(LiveInterval::Segment(Start, End, VNI));