Lines Matching refs:VL

477       VarLoc VL(MI);  in CreateEntryLoc()  local
478 assert(VL.Locs.size() == 1 && in CreateEntryLoc()
479 VL.Locs[0].Kind == MachineLocKind::RegisterKind); in CreateEntryLoc()
480 VL.EVKind = EntryValueLocKind::EntryValueKind; in CreateEntryLoc()
481 VL.Expr = EntryExpr; in CreateEntryLoc()
482 VL.Locs[0].Value.RegNo = Reg; in CreateEntryLoc()
483 return VL; in CreateEntryLoc()
492 VarLoc VL(MI); in CreateEntryBackupLoc() local
493 assert(VL.Locs.size() == 1 && in CreateEntryBackupLoc()
494 VL.Locs[0].Kind == MachineLocKind::RegisterKind); in CreateEntryBackupLoc()
495 VL.EVKind = EntryValueLocKind::EntryValueBackupKind; in CreateEntryBackupLoc()
496 VL.Expr = EntryExpr; in CreateEntryBackupLoc()
497 return VL; in CreateEntryBackupLoc()
506 VarLoc VL(MI); in CreateEntryCopyBackupLoc() local
507 assert(VL.Locs.size() == 1 && in CreateEntryCopyBackupLoc()
508 VL.Locs[0].Kind == MachineLocKind::RegisterKind); in CreateEntryCopyBackupLoc()
509 VL.EVKind = EntryValueLocKind::EntryValueCopyBackupKind; in CreateEntryCopyBackupLoc()
510 VL.Expr = EntryExpr; in CreateEntryCopyBackupLoc()
511 VL.Locs[0].Value.RegNo = NewReg; in CreateEntryCopyBackupLoc()
512 return VL; in CreateEntryCopyBackupLoc()
519 VarLoc VL = OldVL; in CreateCopyLoc() local
520 for (MachineLoc &ML : VL.Locs) in CreateCopyLoc()
524 return VL; in CreateCopyLoc()
533 VarLoc VL = OldVL; in CreateSpillLoc() local
534 for (MachineLoc &ML : VL.Locs) in CreateSpillLoc()
538 return VL; in CreateSpillLoc()
798 LocIndices insert(const VarLoc &VL) { in insert() argument
799 LocIndices &Indices = Var2Indices[VL]; in insert()
809 if (VL.EVKind == VarLoc::EntryValueLocKind::NonEntryValueKind) { in insert()
810 VL.getDescribingRegs(Locations); in insert()
816 if (VL.containsSpillLocs()) in insert()
818 if (VL.containsWasmLocs()) in insert()
820 } else if (VL.EVKind != VarLoc::EntryValueLocKind::EntryValueKind) { in insert()
829 Vars.push_back(VL); in insert()
834 LocIndices getAllIndices(const VarLoc &VL) const { in getAllIndices()
835 auto IndIt = Var2Indices.find(VL); in getAllIndices()
919 void erase(const VarLoc &VL);
927 void insert(LocIndices VarLocIDs, const VarLoc &VL);
1117 void VarLocBasedLDV::OpenRangesSet::erase(const VarLoc &VL) { in erase() argument
1119 auto DoErase = [&VL, this](DebugVariable VarToErase) { in erase()
1120 auto *EraseFrom = VL.isEntryBackupLoc() ? &EntryValuesBackupVars : &Vars; in erase()
1130 DebugVariable Var = VL.Var; in erase()
1157 const VarLoc &VL = VarLocIDs[LocIndex(Location, ID)]; in erase() local
1158 auto *EraseFrom = VL.isEntryBackupLoc() ? &EntryValuesBackupVars : &Vars; in erase()
1159 EraseFrom->erase(VL.Var); in erase()
1160 LocIndices VLI = VarLocIDs.getAllIndices(VL); in erase()
1182 const VarLoc &VL) { in insert() argument
1183 auto *InsertInto = VL.isEntryBackupLoc() ? &EntryValuesBackupVars : &Vars; in insert()
1186 InsertInto->insert({VL.Var, VarLocIDs}); in insert()
1221 const VarLoc &VL = VarLocIDs[ItIdx]; in collectIDsForRegs() local
1222 LocIndices LI = VarLocIDs.getAllIndices(VL); in collectIDsForRegs()
1281 for (const VarLoc &VL : VarLocs) { in printVarLocInMBB() local
1282 Out << " Var: " << VL.Var.getVariable()->getName(); in printVarLocInMBB()
1284 VL.dump(TRI, TII, Out); in printVarLocInMBB()
1374 const VarLoc &VL = VarLocIDs[LocIndex::fromRawInteger(ID)]; in removeEntryValue() local
1375 if (VL.isEntryValueCopyBackupReg(Reg) && in removeEntryValue()
1377 VL.MI.getDebugOperand(0).getReg() == SrcRegOp->getReg()) in removeEntryValue()
1425 VarLoc VL(MI); in transferDebugValue() local
1427 OpenRanges.erase(VL); in transferDebugValue()
1429 LocIndices IDs = VarLocIDs.insert(VL); in transferDebugValue()
1431 OpenRanges.insert(IDs, VL); in transferDebugValue()
1438 VarLoc VL(MI); in transferDebugValue() local
1439 OpenRanges.erase(VL); in transferDebugValue()
1474 const VarLoc &VL = VarLocIDs[Idx]; in emitEntryValues() local
1475 if (!VL.Var.getVariable()->isParameter()) in emitEntryValues()
1478 auto DebugVar = VL.Var; in emitEntryValues()
1509 auto ProcessVarLoc = [&MI, &OpenRanges, &Transfers, &VarLocIDs](VarLoc &VL) { in insertTransferDebugPair() argument
1510 LocIndices LocIds = VarLocIDs.insert(VL); in insertTransferDebugPair()
1513 OpenRanges.erase(VL); in insertTransferDebugPair()
1517 OpenRanges.insert(LocIds, VL); in insertTransferDebugPair()
1531 VarLoc VL = VarLoc::CreateCopyLoc(OldVarLoc, OldLoc, NewReg); in insertTransferDebugPair() local
1532 ProcessVarLoc(VL); in insertTransferDebugPair()
1535 VL.dump(TRI, TII); in insertTransferDebugPair()
1543 VarLoc VL = VarLoc::CreateSpillLoc( in insertTransferDebugPair() local
1545 ProcessVarLoc(VL); in insertTransferDebugPair()
1548 VL.dump(TRI, TII); in insertTransferDebugPair()
1557 VarLoc VL = VarLoc::CreateCopyLoc(OldVarLoc, OldLoc, NewReg); in insertTransferDebugPair() local
1558 ProcessVarLoc(VL); in insertTransferDebugPair()
1561 VL.dump(TRI, TII); in insertTransferDebugPair()
1661 const VarLoc &VL = VarLocIDs[Idx]; in transferWasmDef() local
1662 assert(VL.containsWasmLocs() && "Broken VarLocSet?"); in transferWasmDef()
1663 if (VL.usesWasmLoc(Loc)) in transferWasmDef()
1763 const VarLoc &VL = VarLocIDs[Idx]; in transferSpillOrRestoreInst() local
1764 assert(VL.containsSpillLocs() && "Broken VarLocSet?"); in transferSpillOrRestoreInst()
1765 if (VL.usesSpillLoc(*Loc)) { in transferSpillOrRestoreInst()
1777 unsigned SpillLocIdx = VL.getSpillLocIdx(*Loc); in transferSpillOrRestoreInst()
1778 VarLoc::MachineLoc OldLoc = VL.Locs[SpillLocIdx]; in transferSpillOrRestoreInst()
1779 VarLoc UndefVL = VarLoc::CreateCopyLoc(VL, OldLoc, 0); in transferSpillOrRestoreInst()
1810 const VarLoc &VL = VarLocIDs[Idx]; in transferSpillOrRestoreInst() local
1813 assert(VL.usesReg(Reg) && "Broken VarLocSet?"); in transferSpillOrRestoreInst()
1815 << VL.Var.getVariable()->getName() << ")\n"); in transferSpillOrRestoreInst()
1816 LocIdx = VL.getRegIdx(Reg); in transferSpillOrRestoreInst()
1818 assert(TKind == TransferKind::TransferRestore && VL.containsSpillLocs() && in transferSpillOrRestoreInst()
1820 if (!VL.usesSpillLoc(*Loc)) in transferSpillOrRestoreInst()
1824 << VL.Var.getVariable()->getName() << ")\n"); in transferSpillOrRestoreInst()
1825 LocIdx = VL.getSpillLocIdx(*Loc); in transferSpillOrRestoreInst()
1827 VarLoc::MachineLoc MLoc = VL.Locs[LocIdx]; in transferSpillOrRestoreInst()
1877 const VarLoc &VL = VarLocIDs[Idx]; in transferRegisterCopy() local
1878 if (VL.isEntryValueBackupReg(SrcReg)) { in transferRegisterCopy()
1881 VarLoc::CreateEntryCopyBackupLoc(VL.MI, VL.Expr, DestReg); in transferRegisterCopy()
1883 OpenRanges.erase(VL); in transferRegisterCopy()
1919 for (VarLoc &VL : VarLocs) { in transferTerminator()
1922 VL.dump(TRI, TII); in transferTerminator()
2055 for (const VarLoc &VL : VarLocs) in join()
2057 << VL.Var.getVariable()->getName() << "\n"; in join()
2374 const VarLoc &VL = VarLocIDs[TR.LocationID]; in ExtendRanges() local
2375 MachineInstr *MI = VL.BuildDbgValue(MF); in ExtendRanges()
2386 const VarLoc &VL = VarLocIDs[TR.second]; in ExtendRanges() local
2387 MachineInstr *MI = VL.BuildDbgValue(MF); in ExtendRanges()