Lines Matching refs:LR

67   LiveRange *LR;
70 CalcLiveRangeUtilBase(LiveRange *LR) : LR(LR) {}
94 VNInfo *VNI = ForVNI ? ForVNI : LR->getNextValue(Def, *VNInfoAllocator);
115 VNInfo *VNI = ForVNI ? ForVNI : LR->getNextValue(Def, *VNInfoAllocator);
142 return std::make_pair(nullptr, LR->isUndefIn(Undefs, StartIdx, BeforeUse));
145 return std::make_pair(nullptr, LR->isUndefIn(Undefs, StartIdx, BeforeUse));
147 if (LR->isUndefIn(Undefs, I->end, BeforeUse))
288 CalcLiveRangeUtilVector(LiveRange *LR) : CalcLiveRangeUtilVectorBase(LR) {}
293 LiveRange::Segments &segmentsColl() { return LR->segments; }
295 void insertAtEnd(const Segment &S) { LR->segments.push_back(S); }
297 iterator find(SlotIndex Pos) { return LR->find(Pos); }
299 iterator findInsertPos(Segment S) { return llvm::upper_bound(*LR, S.start); }
314 CalcLiveRangeUtilSet(LiveRange *LR) : CalcLiveRangeUtilSetBase(LR) {}
319 LiveRange::SegmentSet &segmentsColl() { return *LR->segmentSet; }
322 LR->segmentSet->insert(LR->segmentSet->end(), S);
327 LR->segmentSet->upper_bound(Segment(Pos, Pos.getNextSlot(), nullptr));
328 if (I == LR->segmentSet->begin())
337 iterator I = LR->segmentSet->upper_bound(S);
338 if (I != LR->segmentSet->end() && !(S.start < *I))
1110 // 1. [begin; WriteI) at the front of LR.
1111 // 2. [ReadI; end) at the back of LR.
1114 // - LR.begin() <= WriteI <= ReadI <= LR.end().
1130 if (LR)
1131 OS << "Clean updater: " << *LR << '\n';
1136 assert(LR && "Can't have null LR in dirty updater.");
1140 for (const auto &S : make_range(LR->begin(), WriteI))
1146 for (const auto &S : make_range(ReadI, LR->end()))
1169 assert(LR && "Cannot add to a null destination");
1173 if (LR->segmentSet != nullptr) {
1174 LR->addSegmentToSet(Seg);
1184 WriteI = ReadI = LR->begin();
1191 LiveRange::iterator E = LR->end();
1198 ReadI = WriteI = LR->find(Seg.start);
1231 if (WriteI != LR->begin() && coalescable(WriteI[-1], Seg)) {
1242 // Finally, append to LR or Spills.
1244 LR->segments.push_back(Seg);
1245 WriteI = ReadI = LR->end();
1259 LiveRange::iterator B = LR->begin();
1281 assert(LR && "Cannot add to a null destination");
1285 LR->segments.erase(WriteI, ReadI);
1286 LR->verify();
1294 size_t WritePos = WriteI - LR->begin();
1295 LR->segments.insert(ReadI, Spills.size() - GapSize, LiveRange::Segment());
1297 WriteI = LR->begin() + WritePos;
1300 LR->segments.erase(WriteI + Spills.size(), ReadI);
1304 LR->verify();
1307 unsigned ConnectedVNInfoEqClasses::Classify(const LiveRange &LR) {
1310 EqClass.grow(LR.getNumValNums());
1315 for (const VNInfo *VNI : LR.valnos) {
1329 if (const VNInfo *PVNI = LR.getVNInfoBefore(LIS.getMBBEndIdx(Pred)))
1336 if (const VNInfo *UVNI = LR.getVNInfoBefore(VNI->def))