Lines Matching refs:VarLoc

288   struct VarLoc {  struct in __anon32558ef20111::VarLocBasedLDV
389 VarLoc(const MachineInstr &MI, LexicalScopes &LS) in VarLoc() function
439 static VarLoc CreateEntryLoc(const MachineInstr &MI, LexicalScopes &LS, in CreateEntryLoc() argument
441 VarLoc VL(MI, LS); in CreateEntryLoc()
454 static VarLoc CreateEntryBackupLoc(const MachineInstr &MI, in CreateEntryBackupLoc() argument
457 VarLoc VL(MI, LS); in CreateEntryBackupLoc()
468 static VarLoc CreateEntryCopyBackupLoc(const MachineInstr &MI, in CreateEntryCopyBackupLoc() argument
472 VarLoc VL(MI, LS); in CreateEntryCopyBackupLoc()
483 static VarLoc CreateCopyLoc(const VarLoc &OldVL, const MachineLoc &OldML, in CreateCopyLoc() argument
485 VarLoc VL = OldVL; in CreateCopyLoc()
497 static VarLoc CreateSpillLoc(const VarLoc &OldVL, const MachineLoc &OldML, in CreateSpillLoc() argument
499 VarLoc VL = OldVL; in CreateSpillLoc()
628 return any_of(Locs, [](VarLoc::MachineLoc ML) { in containsSpillLocs()
629 return ML.Kind == VarLoc::MachineLocKind::SpillLocKind; in containsSpillLocs()
697 bool operator==(const VarLoc &Other) const { in operator ==() argument
703 bool operator<(const VarLoc &Other) const { in operator <() argument
710 using VarVec = SmallVector<VarLoc, 32>;
720 std::map<VarLoc, LocIndices> Var2Indices;
724 SmallDenseMap<LocIndex::u32_location_t, std::vector<VarLoc>> Loc2Vars;
728 LocIndices insert(const VarLoc &VL) { in insert()
739 if (VL.EVKind == VarLoc::EntryValueLocKind::NonEntryValueKind) { in insert()
750 } else if (VL.EVKind != VarLoc::EntryValueLocKind::EntryValueKind) { in insert()
764 LocIndices getAllIndices(const VarLoc &VL) const { in getAllIndices()
771 const VarLoc &operator[](LocIndex ID) const { in operator []()
805 static void collectAllVarLocs(SmallVectorImpl<VarLoc> &Collected,
843 void getUniqueVarLocs(SmallVectorImpl<VarLoc> &Collected, in getUniqueVarLocs()
849 void erase(const VarLoc &VL);
857 void insert(LocIndices VarLocIDs, const VarLoc &VL);
949 Optional<VarLoc::SpillLoc> isRestoreInstruction(const MachineInstr &MI,
954 VarLoc::SpillLoc extractSpillBaseRegAndOffset(const MachineInstr &MI);
958 const VarLoc::MachineLoc &OldLoc,
969 VarLocMap &VarLocIDs, const VarLoc &EntryVL,
972 VarLocMap &VarLocIDs, const VarLoc &EntryVL,
1039 void VarLocBasedLDV::OpenRangesSet::erase(const VarLoc &VL) { in erase()
1079 const VarLoc &VL = VarLocIDs[LocIndex(Location, ID)]; in erase()
1097 const VarLoc &VarL = Map[Idx]; in insertFromLocSet()
1104 const VarLoc &VL) { in insert()
1143 const VarLoc &VL = VarLocIDs[ItIdx]; in collectIDsForRegs()
1200 SmallVector<VarLoc, 32> VarLocs; in printVarLocInMBB()
1203 for (const VarLoc &VL : VarLocs) { in printVarLocInMBB()
1213 VarLocBasedLDV::VarLoc::SpillLoc
1232 const VarLoc &EntryVL, InstToEntryLocMap &EntryValTransfers) { in cleanupEntryValueTransfers()
1238 const VarLoc &EmittedEV = VarLocIDs[TDPair.second]; in cleanupEntryValueTransfers()
1256 const VarLoc &EntryVL, in removeEntryValue()
1296 const VarLoc &VL = VarLocIDs[LocIndex::fromRawInteger(ID)]; in removeEntryValue()
1337 const VarLoc &EntryVL = VarLocIDs[EntryValBackupID->back()]; in transferDebugValue()
1347 VarLoc VL(MI, LS); in transferDebugValue()
1360 VarLoc VL(MI, LS); in transferDebugValue()
1366 void VarLocBasedLDV::collectAllVarLocs(SmallVectorImpl<VarLoc> &Collected, in collectAllVarLocs()
1396 const VarLoc &VL = VarLocIDs[Idx]; in emitEntryValues()
1409 const VarLoc &EntryVL = VarLocIDs[EntryValBackupIDs->back()]; in emitEntryValues()
1410 VarLoc EntryLoc = VarLoc::CreateEntryLoc(EntryVL.MI, LS, EntryVL.Expr, in emitEntryValues()
1428 const VarLoc::MachineLoc &OldLoc, Register NewReg) { in insertTransferDebugPair()
1429 const VarLoc &OldVarLoc = VarLocIDs[OldVarID]; in insertTransferDebugPair()
1431 auto ProcessVarLoc = [&MI, &OpenRanges, &Transfers, &VarLocIDs](VarLoc &VL) { in insertTransferDebugPair()
1453 VarLoc VL = VarLoc::CreateCopyLoc(OldVarLoc, OldLoc, NewReg); in insertTransferDebugPair()
1464 VarLoc::SpillLoc SpillLocation = extractSpillBaseRegAndOffset(MI); in insertTransferDebugPair()
1465 VarLoc VL = VarLoc::CreateSpillLoc( in insertTransferDebugPair()
1479 VarLoc VL = VarLoc::CreateCopyLoc(OldVarLoc, OldLoc, NewReg); in insertTransferDebugPair()
1621 Optional<VarLocBasedLDV::VarLoc::SpillLoc>
1650 Optional<VarLoc::SpillLoc> Loc; in transferSpillOrRestoreInst()
1662 const VarLoc &VL = VarLocIDs[Idx]; in transferSpillOrRestoreInst()
1677 VarLoc::MachineLoc OldLoc = VL.Locs[SpillLocIdx]; in transferSpillOrRestoreInst()
1678 VarLoc UndefVL = VarLoc::CreateCopyLoc(VL, OldLoc, 0); in transferSpillOrRestoreInst()
1709 const VarLoc &VL = VarLocIDs[Idx]; in transferSpillOrRestoreInst()
1726 VarLoc::MachineLoc MLoc = VL.Locs[LocIdx]; in transferSpillOrRestoreInst()
1776 const VarLoc &VL = VarLocIDs[Idx]; in transferRegisterCopy()
1779 VarLoc EntryValLocCopyBackup = in transferRegisterCopy()
1780 VarLoc::CreateEntryCopyBackupLoc(VL.MI, LS, VL.Expr, DestReg); in transferRegisterCopy()
1798 VarLoc::MachineLocValue Loc; in transferRegisterCopy()
1800 VarLoc::MachineLoc MLoc{VarLoc::MachineLocKind::RegisterKind, Loc}; in transferRegisterCopy()
1818 for (VarLoc &VL : VarLocs) { in transferTerminator()
1953 for (const VarLoc &VL : VarLocs) in join()
2004 SmallVector<VarLoc, 32> VarLocs; in flushPendingLocs()
2007 for (VarLoc DiffIt : VarLocs) { in flushPendingLocs()
2093 VarLoc EntryValLocAsBackup = VarLoc::CreateEntryBackupLoc(MI, LS, NewExpr); in recordEntryValue()
2267 const VarLoc &VL = VarLocIDs[TR.LocationID]; in ExtendRanges()
2279 const VarLoc &VL = VarLocIDs[TR.second]; in ExtendRanges()