Lines Matching refs:LocIdx
81 class LocIdx {
86 LocIdx() : Location(UINT_MAX) {} in LocIdx() function
90 LocIdx(unsigned L) : Location(L) { in LocIdx() function
94 static LocIdx MakeIllegalLoc() { return LocIdx(); } in MakeIllegalLoc()
95 static LocIdx MakeTombstoneLoc() { in MakeTombstoneLoc()
96 LocIdx L = LocIdx(); in MakeTombstoneLoc()
107 bool operator==(const LocIdx &L) const { return Location == L.Location; }
111 bool operator!=(const LocIdx &L) const { return !(*this == L); }
113 bool operator<(const LocIdx &Other) const {
168 ValueIDNum(uint64_t Block, uint64_t Inst, LocIdx Loc) { in ValueIDNum()
216 template <> struct DenseMapInfo<LocIdx> {
217 static inline LocIdx getEmptyKey() { return LocIdx::MakeIllegalLoc(); }
218 static inline LocIdx getTombstoneKey() { return LocIdx::MakeTombstoneLoc(); }
220 static unsigned getHashValue(const LocIdx &Loc) { return Loc.asU64(); }
222 static bool isEqual(const LocIdx &A, const LocIdx &B) { return A == B; }
383 LocIdx Loc;
388 ResolvedDbgOp(LocIdx Loc) : Loc(Loc), IsConst(false) {}
657 using argument_type = LocIdx;
658 unsigned operator()(const LocIdx &L) const { return L.asU64(); }
720 std::vector<LocIdx> LocIDToLocIdx;
770 LocIdx Idx;
775 value_type(LocIdx Idx, ValueIDNum &Value) : Idx(Idx), Value(Value) {}
776 const LocIdx Idx; /// Read-only index of this location.
780 MLocIterator(LocToValueType &ValueMap, LocIdx Idx)
792 void operator++() { Idx = LocIdx(Idx.asU64() + 1); }
794 value_type operator*() { return value_type(Idx, ValueMap[LocIdx(Idx)]); }
895 LocIDToLocIdx.resize(NumRegs, LocIdx::MakeIllegalLoc());
899 void setMLoc(LocIdx L, ValueIDNum Num) {
905 ValueIDNum readMLoc(LocIdx L) {
912 LocIdx trackRegister(unsigned ID);
914 LocIdx lookupOrTrackRegister(unsigned ID) {
915 LocIdx &Index = LocIDToLocIdx[ID];
923 LocIdx &Index = LocIDToLocIdx[R];
932 LocIdx Idx = lookupOrTrackRegister(ID);
941 LocIdx Idx = lookupOrTrackRegister(ID);
947 LocIdx Idx = lookupOrTrackRegister(ID);
957 LocIdx Idx = LocIDToLocIdx[ID];
962 LocIdx getRegMLoc(Register R) {
980 LocIdx getSpillMLoc(unsigned SpillID) {
986 bool isSpill(LocIdx Idx) const { return LocIdxToLocID[Idx] >= NumRegs; }
989 unsigned getLocSizeInBits(LocIdx L) const {
1012 std::string LocIdxToName(LocIdx Idx) const;
1137 using MLocTransferMap = SmallDenseMap<LocIdx, ValueIDNum>;
1227 std::optional<LocIdx> ReadLoc;
1511 bool isCalleeSaved(LocIdx L) const;
1527 std::optional<LocIdx> findLocationForMemOperand(const MachineInstr &MI);