Lines Matching refs:VarLoc
297 struct VarLoc { struct in __anon28d3adc20111::VarLocBasedLDV
422 VarLoc(const MachineInstr &MI) in VarLoc() function
475 static VarLoc CreateEntryLoc(const MachineInstr &MI, in CreateEntryLoc() argument
477 VarLoc VL(MI); in CreateEntryLoc()
490 static VarLoc CreateEntryBackupLoc(const MachineInstr &MI, in CreateEntryBackupLoc() argument
492 VarLoc VL(MI); in CreateEntryBackupLoc()
503 static VarLoc CreateEntryCopyBackupLoc(const MachineInstr &MI, in CreateEntryCopyBackupLoc() argument
506 VarLoc VL(MI); in CreateEntryCopyBackupLoc()
517 static VarLoc CreateCopyLoc(const VarLoc &OldVL, const MachineLoc &OldML, in CreateCopyLoc() argument
519 VarLoc VL = OldVL; in CreateCopyLoc()
531 static VarLoc CreateSpillLoc(const VarLoc &OldVL, const MachineLoc &OldML, in CreateSpillLoc() argument
533 VarLoc VL = OldVL; in CreateSpillLoc()
666 return any_of(Locs, [](VarLoc::MachineLoc ML) { in containsSpillLocs()
667 return ML.Kind == VarLoc::MachineLocKind::SpillLocKind; in containsSpillLocs()
691 return any_of(Locs, [](VarLoc::MachineLoc ML) { in containsWasmLocs()
692 return ML.Kind == VarLoc::MachineLocKind::WasmLocKind; in containsWasmLocs()
767 bool operator==(const VarLoc &Other) const { in operator ==() argument
773 bool operator<(const VarLoc &Other) const { in operator <() argument
780 using VarVec = SmallVector<VarLoc, 32>;
790 std::map<VarLoc, LocIndices> Var2Indices;
794 SmallDenseMap<LocIndex::u32_location_t, std::vector<VarLoc>> Loc2Vars;
798 LocIndices insert(const VarLoc &VL) { in insert()
809 if (VL.EVKind == VarLoc::EntryValueLocKind::NonEntryValueKind) { in insert()
820 } else if (VL.EVKind != VarLoc::EntryValueLocKind::EntryValueKind) { in insert()
834 LocIndices getAllIndices(const VarLoc &VL) const { in getAllIndices()
841 const VarLoc &operator[](LocIndex ID) const { in operator []()
875 static void collectAllVarLocs(SmallVectorImpl<VarLoc> &Collected,
913 void getUniqueVarLocs(SmallVectorImpl<VarLoc> &Collected, in getUniqueVarLocs()
919 void erase(const VarLoc &VL);
927 void insert(LocIndices VarLocIDs, const VarLoc &VL);
1025 std::optional<VarLoc::SpillLoc> isRestoreInstruction(const MachineInstr &MI,
1030 VarLoc::SpillLoc extractSpillBaseRegAndOffset(const MachineInstr &MI);
1034 const VarLoc::MachineLoc &OldLoc,
1045 VarLocMap &VarLocIDs, const VarLoc &EntryVL,
1048 VarLocMap &VarLocIDs, const VarLoc &EntryVL,
1117 void VarLocBasedLDV::OpenRangesSet::erase(const VarLoc &VL) { in erase()
1157 const VarLoc &VL = VarLocIDs[LocIndex(Location, ID)]; in erase()
1175 const VarLoc &VarL = Map[Idx]; in insertFromLocSet()
1182 const VarLoc &VL) { in insert()
1221 const VarLoc &VL = VarLocIDs[ItIdx]; in collectIDsForRegs()
1278 SmallVector<VarLoc, 32> VarLocs; in printVarLocInMBB()
1281 for (const VarLoc &VL : VarLocs) { in printVarLocInMBB()
1291 VarLocBasedLDV::VarLoc::SpillLoc
1310 const VarLoc &EntryVL, InstToEntryLocMap &EntryValTransfers) { in cleanupEntryValueTransfers()
1316 const VarLoc &EmittedEV = VarLocIDs[TDPair.second]; in cleanupEntryValueTransfers()
1334 const VarLoc &EntryVL, in removeEntryValue()
1374 const VarLoc &VL = VarLocIDs[LocIndex::fromRawInteger(ID)]; in removeEntryValue()
1415 const VarLoc &EntryVL = VarLocIDs[EntryValBackupID->back()]; in transferDebugValue()
1425 VarLoc VL(MI); in transferDebugValue()
1438 VarLoc VL(MI); in transferDebugValue()
1444 void VarLocBasedLDV::collectAllVarLocs(SmallVectorImpl<VarLoc> &Collected, in collectAllVarLocs()
1474 const VarLoc &VL = VarLocIDs[Idx]; in emitEntryValues()
1487 const VarLoc &EntryVL = VarLocIDs[EntryValBackupIDs->back()]; in emitEntryValues()
1488 VarLoc EntryLoc = VarLoc::CreateEntryLoc(EntryVL.MI, EntryVL.Expr, in emitEntryValues()
1506 const VarLoc::MachineLoc &OldLoc, Register NewReg) { in insertTransferDebugPair()
1507 const VarLoc &OldVarLoc = VarLocIDs[OldVarID]; in insertTransferDebugPair()
1509 auto ProcessVarLoc = [&MI, &OpenRanges, &Transfers, &VarLocIDs](VarLoc &VL) { in insertTransferDebugPair()
1531 VarLoc VL = VarLoc::CreateCopyLoc(OldVarLoc, OldLoc, NewReg); in insertTransferDebugPair()
1542 VarLoc::SpillLoc SpillLocation = extractSpillBaseRegAndOffset(MI); in insertTransferDebugPair()
1543 VarLoc VL = VarLoc::CreateSpillLoc( in insertTransferDebugPair()
1557 VarLoc VL = VarLoc::CreateCopyLoc(OldVarLoc, OldLoc, NewReg); in insertTransferDebugPair()
1658 VarLoc::WasmLoc Loc{Index, Offset}; in transferWasmDef()
1661 const VarLoc &VL = VarLocIDs[Idx]; in transferWasmDef()
1722 std::optional<VarLocBasedLDV::VarLoc::SpillLoc>
1751 std::optional<VarLoc::SpillLoc> Loc; in transferSpillOrRestoreInst()
1763 const VarLoc &VL = VarLocIDs[Idx]; 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()
1827 VarLoc::MachineLoc MLoc = VL.Locs[LocIdx]; in transferSpillOrRestoreInst()
1877 const VarLoc &VL = VarLocIDs[Idx]; in transferRegisterCopy()
1880 VarLoc EntryValLocCopyBackup = in transferRegisterCopy()
1881 VarLoc::CreateEntryCopyBackupLoc(VL.MI, VL.Expr, DestReg); in transferRegisterCopy()
1899 VarLoc::MachineLocValue Loc; in transferRegisterCopy()
1901 VarLoc::MachineLoc MLoc{VarLoc::MachineLocKind::RegisterKind, Loc}; in transferRegisterCopy()
1919 for (VarLoc &VL : VarLocs) { in transferTerminator()
2055 for (const VarLoc &VL : VarLocs) in join()
2106 SmallVector<VarLoc, 32> VarLocs; in flushPendingLocs()
2109 for (VarLoc DiffIt : VarLocs) { in flushPendingLocs()
2200 VarLoc EntryValLocAsBackup = VarLoc::CreateEntryBackupLoc(MI, NewExpr); in recordEntryValue()
2374 const VarLoc &VL = VarLocIDs[TR.LocationID]; in ExtendRanges()
2386 const VarLoc &VL = VarLocIDs[TR.second]; in ExtendRanges()