Lines Matching refs:VarLoc
305 struct VarLoc { struct in __anon9749acf60111::VarLocBasedLDV
406 VarLoc(const MachineInstr &MI, LexicalScopes &LS) in VarLoc() argument
457 static VarLoc CreateEntryLoc(const MachineInstr &MI, LexicalScopes &LS, in CreateEntryLoc() argument
459 VarLoc VL(MI, LS); in CreateEntryLoc()
472 static VarLoc CreateEntryBackupLoc(const MachineInstr &MI, in CreateEntryBackupLoc() argument
475 VarLoc VL(MI, LS); in CreateEntryBackupLoc()
486 static VarLoc CreateEntryCopyBackupLoc(const MachineInstr &MI, in CreateEntryCopyBackupLoc() argument
490 VarLoc VL(MI, LS); in CreateEntryCopyBackupLoc()
501 static VarLoc CreateCopyLoc(const VarLoc &OldVL, const MachineLoc &OldML, in CreateCopyLoc() argument
503 VarLoc VL = OldVL; in CreateCopyLoc()
515 static VarLoc CreateSpillLoc(const VarLoc &OldVL, const MachineLoc &OldML, in CreateSpillLoc() argument
517 VarLoc VL = OldVL; in CreateSpillLoc()
647 return any_of(Locs, [](VarLoc::MachineLoc ML) { in containsSpillLocs()
648 return ML.Kind == VarLoc::MachineLocKind::SpillLocKind; in containsSpillLocs()
716 bool operator==(const VarLoc &Other) const { in operator ==() argument
722 bool operator<(const VarLoc &Other) const { in operator <() argument
729 using VarVec = SmallVector<VarLoc, 32>;
739 std::map<VarLoc, LocIndices> Var2Indices;
743 SmallDenseMap<LocIndex::u32_location_t, std::vector<VarLoc>> Loc2Vars;
747 LocIndices insert(const VarLoc &VL) { in insert()
758 if (VL.EVKind == VarLoc::EntryValueLocKind::NonEntryValueKind) { in insert()
769 } else if (VL.EVKind != VarLoc::EntryValueLocKind::EntryValueKind) { in insert()
783 LocIndices getAllIndices(const VarLoc &VL) const { in getAllIndices()
790 const VarLoc &operator[](LocIndex ID) const { in operator []()
820 static void collectAllVarLocs(SmallVectorImpl<VarLoc> &Collected,
858 void getUniqueVarLocs(SmallVectorImpl<VarLoc> &Collected, in getUniqueVarLocs()
864 void erase(const VarLoc &VL);
872 void insert(LocIndices VarLocIDs, const VarLoc &VL);
964 Optional<VarLoc::SpillLoc> isRestoreInstruction(const MachineInstr &MI,
969 VarLoc::SpillLoc extractSpillBaseRegAndOffset(const MachineInstr &MI);
973 const VarLoc::MachineLoc &OldLoc,
981 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
1234 const VarLoc &EntryVL) { in removeEntryValue()
1268 const VarLoc &VL = VarLocIDs[LocIndex::fromRawInteger(ID)]; in removeEntryValue()
1299 const VarLoc &EntryVL = VarLocIDs[EntryValBackupID->back()]; in transferDebugValue()
1314 VarLoc VL(MI, LS); in transferDebugValue()
1327 VarLoc VL(MI, LS); in transferDebugValue()
1333 void VarLocBasedLDV::collectAllVarLocs(SmallVectorImpl<VarLoc> &Collected, in collectAllVarLocs()
1363 const VarLoc &VL = VarLocIDs[Idx]; in emitEntryValues()
1376 const VarLoc &EntryVL = VarLocIDs[EntryValBackupIDs->back()]; in emitEntryValues()
1377 VarLoc EntryLoc = VarLoc::CreateEntryLoc(EntryVL.MI, LS, EntryVL.Expr, in emitEntryValues()
1393 const VarLoc::MachineLoc &OldLoc, Register NewReg) { in insertTransferDebugPair()
1394 const VarLoc &OldVarLoc = VarLocIDs[OldVarID]; in insertTransferDebugPair()
1396 auto ProcessVarLoc = [&MI, &OpenRanges, &Transfers, &VarLocIDs](VarLoc &VL) { in insertTransferDebugPair()
1418 VarLoc VL = VarLoc::CreateCopyLoc(OldVarLoc, OldLoc, NewReg); in insertTransferDebugPair()
1429 VarLoc::SpillLoc SpillLocation = extractSpillBaseRegAndOffset(MI); in insertTransferDebugPair()
1430 VarLoc VL = VarLoc::CreateSpillLoc( in insertTransferDebugPair()
1444 VarLoc VL = VarLoc::CreateCopyLoc(OldVarLoc, OldLoc, NewReg); in insertTransferDebugPair()
1578 Optional<VarLocBasedLDV::VarLoc::SpillLoc>
1607 Optional<VarLoc::SpillLoc> Loc; in transferSpillOrRestoreInst()
1619 const VarLoc &VL = VarLocIDs[Idx]; in transferSpillOrRestoreInst()
1634 VarLoc::MachineLoc OldLoc = VL.Locs[SpillLocIdx]; in transferSpillOrRestoreInst()
1635 VarLoc UndefVL = VarLoc::CreateCopyLoc(VL, OldLoc, 0); in transferSpillOrRestoreInst()
1666 const VarLoc &VL = VarLocIDs[Idx]; in transferSpillOrRestoreInst()
1683 VarLoc::MachineLoc MLoc = VL.Locs[LocIdx]; in transferSpillOrRestoreInst()
1733 const VarLoc &VL = VarLocIDs[Idx]; in transferRegisterCopy()
1736 VarLoc EntryValLocCopyBackup = in transferRegisterCopy()
1737 VarLoc::CreateEntryCopyBackupLoc(VL.MI, LS, VL.Expr, DestReg); in transferRegisterCopy()
1755 VarLoc::MachineLocValue Loc; in transferRegisterCopy()
1757 VarLoc::MachineLoc MLoc{VarLoc::MachineLocKind::RegisterKind, Loc}; in transferRegisterCopy()
1775 for (VarLoc &VL : VarLocs) { in transferTerminator()
1904 for (const VarLoc &VL : VarLocs) in join()
1955 SmallVector<VarLoc, 32> VarLocs; in flushPendingLocs()
1958 for (VarLoc DiffIt : VarLocs) { in flushPendingLocs()
2044 VarLoc EntryValLocAsBackup = VarLoc::CreateEntryBackupLoc(MI, LS, NewExpr); in recordEntryValue()
2207 const VarLoc &VL = VarLocIDs[TR.LocationID]; in ExtendRanges()