Lines Matching defs:LI
397 /// interval @p LI. The interval @p LI is assumed to contain such a subrange.
400 template <typename T> auto &getSubrangeImpl(LaneBitmask LM, T &LI) {
401 for (auto &S : LI.subranges())
408 LiveInterval &LI) {
409 return getSubrangeImpl(LM, LI);
413 const LiveInterval &LI) {
414 return getSubrangeImpl(LM, LI);
418 /// in the live interval @p LI. The interval @p LI is assumed to contain such
422 const LiveInterval &LI) {
423 for (const LiveInterval::SubRange &S : LI.subranges())
429 void SplitEditor::addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original) {
430 if (!LI.hasSubRanges()) {
431 LI.createDeadDef(VNI);
440 for (LiveInterval::SubRange &S : LI.subranges()) {
455 if (R != LI.reg())
464 for (LiveInterval::SubRange &S : LI.subranges())
477 LiveInterval *LI = &LIS.getInterval(Edit->get(RegIdx));
480 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator());
482 bool Force = LI->hasSubRanges();
495 addDeadDef(*LI, OldVNI, Original);
503 addDeadDef(*LI, VNI, Original);
595 LiveInterval *LI = &LIS.getInterval(Edit->get(RegIdx));
606 Register Reg = LI->reg();
854 LiveInterval *LI = &LIS.getInterval(Edit->get(0));
871 LIS.removeVRegDefAt(*LI, Def);
961 LiveInterval *LI = &LIS.getInterval(Edit->get(0));
967 for (VNInfo *VNI : LI->valnos) {
1014 LiveInterval *LI = &LIS.getInterval(Edit->get(0));
1029 for (VNInfo *VNI : LI->valnos) {
1113 for (VNInfo *VNI : LI->valnos) {
1163 LiveInterval &LI = LIS.getInterval(Edit->get(RegIdx));
1169 LI.addSegment(LiveInterval::Segment(Start, End, VNI));
1193 VNInfo *VNI = LI.extendInBlock(BlockStart, std::min(BlockEnd, End));
1213 VNInfo *VNI = LI.extendInBlock(BlockStart, std::min(BlockEnd, End));
1221 LIC.addLiveInBlock(LI, MDT[&*MBB], End);
1224 LIC.addLiveInBlock(LI, MDT[&*MBB]);
1285 LiveInterval &LI = LIS.getInterval(Edit->get(RegIdx));
1288 if (!removeDeadSegment(V->def, LI))
1289 extendPHIRange(B, LIC, LI, LaneBitmask::getAll(), /*Undefs=*/{});
1300 LiveInterval &LI = LIS.getInterval(Edit->get(RegIdx));
1301 LiveInterval::SubRange &S = getSubRangeForMaskExact(PS.LaneMask, LI);
1309 LI.computeSubRangeUndefs(Undefs, PS.LaneMask, MRI, *LIS.getSlotIndexes());
1347 LiveInterval &LI = LIS.getInterval(Edit->get(RegIdx));
1348 MO.setReg(LI.reg());
1390 if (LI.hasSubRanges()) {
1399 LIC.extend(LI, Next, 0, ArrayRef<SlotIndex>());
1404 LiveInterval &LI = LIS.getInterval(Edit->get(EP.RegIdx));
1405 assert(LI.hasSubRanges());
1411 for (LiveInterval::SubRange &S : LI.subranges()) {
1424 LI.computeSubRangeUndefs(Undefs, S.LaneMask, MRI, *LIS.getSlotIndexes());
1430 LiveInterval &LI = LIS.getInterval(R);
1431 if (!LI.hasSubRanges())
1433 LI.clear();
1434 LI.removeEmptySubRanges();
1435 LIS.constructMainRangeFromSubranges(LI);
1442 LiveInterval *LI = &LIS.getInterval(R);
1443 for (const LiveRange::Segment &S : LI->segments) {
1451 MI->addRegisterDead(LI->reg(), &TRI);
1549 LiveInterval &LI = LIS.getInterval(Reg);
1550 LI.removeEmptySubRanges();
1551 LI.RenumberValues();
1565 LiveInterval &LI = LIS.getInterval(VReg);
1567 LIS.splitSeparateComponents(LI, SplitLIs);