Lines Matching defs:VL

480       VarLoc VL(MI);
481 assert(VL.Locs.size() == 1 &&
482 VL.Locs[0].Kind == MachineLocKind::RegisterKind);
483 VL.EVKind = EntryValueLocKind::EntryValueKind;
484 VL.Expr = EntryExpr;
485 VL.Locs[0].Value.RegNo = Reg;
486 return VL;
495 VarLoc VL(MI);
496 assert(VL.Locs.size() == 1 &&
497 VL.Locs[0].Kind == MachineLocKind::RegisterKind);
498 VL.EVKind = EntryValueLocKind::EntryValueBackupKind;
499 VL.Expr = EntryExpr;
500 return VL;
509 VarLoc VL(MI);
510 assert(VL.Locs.size() == 1 &&
511 VL.Locs[0].Kind == MachineLocKind::RegisterKind);
512 VL.EVKind = EntryValueLocKind::EntryValueCopyBackupKind;
513 VL.Expr = EntryExpr;
514 VL.Locs[0].Value.RegNo = NewReg;
515 return VL;
522 VarLoc VL = OldVL;
523 for (MachineLoc &ML : VL.Locs)
527 return VL;
536 VarLoc VL = OldVL;
537 for (MachineLoc &ML : VL.Locs)
541 return VL;
800 /// Retrieve LocIndices for \p VL.
801 LocIndices insert(const VarLoc &VL) {
802 LocIndices &Indices = Var2Indices[VL];
803 // If Indices is not empty, VL is already in the map.
812 if (VL.EVKind == VarLoc::EntryValueLocKind::NonEntryValueKind) {
813 VL.getDescribingRegs(Locations);
820 if (VL.containsSpillLocs())
822 if (VL.containsWasmLocs())
824 } else if (VL.EVKind != VarLoc::EntryValueLocKind::EntryValueKind) {
833 Vars.push_back(VL);
838 LocIndices getAllIndices(const VarLoc &VL) const {
839 auto IndIt = Var2Indices.find(VL);
922 /// Terminate all open ranges for VL.Var by removing it from the set.
923 void erase(const VarLoc &VL);
931 void insert(LocIndices VarLocIDs, const VarLoc &VL);
1121 void VarLocBasedLDV::OpenRangesSet::erase(const VarLoc &VL) {
1123 auto DoErase = [&VL, this](DebugVariable VarToErase) {
1124 auto *EraseFrom = VL.isEntryBackupLoc() ? &EntryValuesBackupVars : &Vars;
1134 DebugVariable Var = VL.Var;
1161 const VarLoc &VL = VarLocIDs[LocIndex(Location, ID)];
1162 auto *EraseFrom = VL.isEntryBackupLoc() ? &EntryValuesBackupVars : &Vars;
1163 EraseFrom->erase(VL.Var);
1164 LocIndices VLI = VarLocIDs.getAllIndices(VL);
1186 const VarLoc &VL) {
1187 auto *InsertInto = VL.isEntryBackupLoc() ? &EntryValuesBackupVars : &Vars;
1190 InsertInto->insert({VL.Var, VarLocIDs});
1225 const VarLoc &VL = VarLocIDs[ItIdx];
1226 LocIndices LI = VarLocIDs.getAllIndices(VL);
1295 for (const VarLoc &VL : VarLocs) {
1296 Out << " Var: " << VL.Var.getVariable()->getName();
1298 VL.dump(TRI, TII, Out);
1388 const VarLoc &VL = VarLocIDs[LocIndex::fromRawInteger(ID)];
1389 if (VL.isEntryValueCopyBackupReg(Reg) &&
1391 VL.MI.getDebugOperand(0).getReg() == SrcRegOp->getReg())
1439 VarLoc VL(MI);
1440 // End all previous ranges of VL.Var.
1441 OpenRanges.erase(VL);
1443 LocIndices IDs = VarLocIDs.insert(VL);
1445 OpenRanges.insert(IDs, VL);
1452 VarLoc VL(MI);
1453 OpenRanges.erase(VL);
1488 const VarLoc &VL = VarLocIDs[Idx];
1489 if (!VL.Var.getVariable()->isParameter())
1492 auto DebugVar = VL.Var;
1523 auto ProcessVarLoc = [&MI, &OpenRanges, &Transfers, &VarLocIDs](VarLoc &VL) {
1524 LocIndices LocIds = VarLocIDs.insert(VL);
1527 OpenRanges.erase(VL);
1531 OpenRanges.insert(LocIds, VL);
1537 // End all previous ranges of VL.Var.
1545 VarLoc VL = VarLoc::CreateCopyLoc(OldVarLoc, OldLoc, NewReg);
1546 ProcessVarLoc(VL);
1549 VL.dump(TRI, TII);
1557 VarLoc VL = VarLoc::CreateSpillLoc(
1559 ProcessVarLoc(VL);
1562 VL.dump(TRI, TII);
1571 VarLoc VL = VarLoc::CreateCopyLoc(OldVarLoc, OldLoc, NewReg);
1572 ProcessVarLoc(VL);
1575 VL.dump(TRI, TII);
1675 const VarLoc &VL = VarLocIDs[Idx];
1676 assert(VL.containsWasmLocs() && "Broken VarLocSet?");
1677 if (VL.usesWasmLoc(Loc))
1777 const VarLoc &VL = VarLocIDs[Idx];
1778 assert(VL.containsSpillLocs() && "Broken VarLocSet?");
1779 if (VL.usesSpillLoc(*Loc)) {
1791 unsigned SpillLocIdx = VL.getSpillLocIdx(*Loc);
1792 VarLoc::MachineLoc OldLoc = VL.Locs[SpillLocIdx];
1793 VarLoc UndefVL = VarLoc::CreateCopyLoc(VL, OldLoc, 0);
1824 const VarLoc &VL = VarLocIDs[Idx];
1827 assert(VL.usesReg(Reg) && "Broken VarLocSet?");
1829 << VL.Var.getVariable()->getName() << ")\n");
1830 LocIdx = VL.getRegIdx(Reg);
1832 assert(TKind == TransferKind::TransferRestore && VL.containsSpillLocs() &&
1834 if (!VL.usesSpillLoc(*Loc))
1838 << VL.Var.getVariable()->getName() << ")\n");
1839 LocIdx = VL.getSpillLocIdx(*Loc);
1841 VarLoc::MachineLoc MLoc = VL.Locs[LocIdx];
1891 const VarLoc &VL = VarLocIDs[Idx];
1892 if (VL.isEntryValueBackupReg(SrcReg)) {
1895 VarLoc::CreateEntryCopyBackupLoc(VL.MI, VL.Expr, DestReg);
1897 OpenRanges.erase(VL);
1933 for (VarLoc &VL : VarLocs) {
1936 VL.dump(TRI, TII);
2067 for (const VarLoc &VL : VarLocs)
2069 << VL.Var.getVariable()->getName() << "\n";
2386 const VarLoc &VL = VarLocIDs[TR.LocationID];
2387 MachineInstr *MI = VL.BuildDbgValue(MF);
2398 const VarLoc &VL = VarLocIDs[TR.second];
2399 MachineInstr *MI = VL.BuildDbgValue(MF);