Lines Matching defs:LI

398 /// interval @p LI. The interval @p LI is assumed to contain such a subrange.
401 template <typename T> auto &getSubrangeImpl(LaneBitmask LM, T &LI) {
402 for (auto &S : LI.subranges())
409 LiveInterval &LI) {
410 return getSubrangeImpl(LM, LI);
414 const LiveInterval &LI) {
415 return getSubrangeImpl(LM, LI);
419 /// in the live interval @p LI. The interval @p LI is assumed to contain such
423 const LiveInterval &LI) {
424 for (const LiveInterval::SubRange &S : LI.subranges())
430 void SplitEditor::addDeadDef(LiveInterval &LI, VNInfo *VNI, bool Original) {
431 if (!LI.hasSubRanges()) {
432 LI.createDeadDef(VNI);
441 for (LiveInterval::SubRange &S : LI.subranges()) {
456 if (R != LI.reg())
465 for (LiveInterval::SubRange &S : LI.subranges())
478 LiveInterval *LI = &LIS.getInterval(Edit->get(RegIdx));
481 VNInfo *VNI = LI->getNextValue(Idx, LIS.getVNInfoAllocator());
483 bool Force = LI->hasSubRanges();
496 addDeadDef(*LI, OldVNI, Original);
504 addDeadDef(*LI, VNI, Original);
596 LiveInterval *LI = &LIS.getInterval(Edit->get(RegIdx));
607 Register Reg = LI->reg();
855 LiveInterval *LI = &LIS.getInterval(Edit->get(0));
872 LIS.removeVRegDefAt(*LI, Def);
962 LiveInterval *LI = &LIS.getInterval(Edit->get(0));
968 for (VNInfo *VNI : LI->valnos) {
1015 LiveInterval *LI = &LIS.getInterval(Edit->get(0));
1030 for (VNInfo *VNI : LI->valnos) {
1114 for (VNInfo *VNI : LI->valnos) {
1164 LiveInterval &LI = LIS.getInterval(Edit->get(RegIdx));
1170 LI.addSegment(LiveInterval::Segment(Start, End, VNI));
1194 VNInfo *VNI = LI.extendInBlock(BlockStart, std::min(BlockEnd, End));
1214 VNInfo *VNI = LI.extendInBlock(BlockStart, std::min(BlockEnd, End));
1222 LIC.addLiveInBlock(LI, MDT[&*MBB], End);
1225 LIC.addLiveInBlock(LI, MDT[&*MBB]);
1286 LiveInterval &LI = LIS.getInterval(Edit->get(RegIdx));
1289 if (!removeDeadSegment(V->def, LI))
1290 extendPHIRange(B, LIC, LI, LaneBitmask::getAll(), /*Undefs=*/{});
1301 LiveInterval &LI = LIS.getInterval(Edit->get(RegIdx));
1302 LiveInterval::SubRange &S = getSubRangeForMaskExact(PS.LaneMask, LI);
1310 LI.computeSubRangeUndefs(Undefs, PS.LaneMask, MRI, *LIS.getSlotIndexes());
1348 LiveInterval &LI = LIS.getInterval(Edit->get(RegIdx));
1349 MO.setReg(LI.reg());
1391 if (LI.hasSubRanges()) {
1400 LIC.extend(LI, Next, 0, ArrayRef<SlotIndex>());
1405 LiveInterval &LI = LIS.getInterval(Edit->get(EP.RegIdx));
1406 assert(LI.hasSubRanges());
1412 for (LiveInterval::SubRange &S : LI.subranges()) {
1425 LI.computeSubRangeUndefs(Undefs, S.LaneMask, MRI, *LIS.getSlotIndexes());
1431 LiveInterval &LI = LIS.getInterval(R);
1432 if (!LI.hasSubRanges())
1434 LI.clear();
1435 LI.removeEmptySubRanges();
1436 LIS.constructMainRangeFromSubranges(LI);
1443 LiveInterval *LI = &LIS.getInterval(R);
1444 for (const LiveRange::Segment &S : LI->segments) {
1452 MI->addRegisterDead(LI->reg(), &TRI);
1550 LiveInterval &LI = LIS.getInterval(Reg);
1551 LI.removeEmptySubRanges();
1552 LI.RenumberValues();
1566 LiveInterval &LI = LIS.getInterval(VReg);
1568 LIS.splitSeparateComponents(LI, SplitLIs);