Lines Matching refs:LocIdx
41 class LocIdx {
46 LocIdx() : Location(UINT_MAX) {} in LocIdx() function
50 LocIdx(unsigned L) : Location(L) { in LocIdx() function
54 static LocIdx MakeIllegalLoc() { return LocIdx(); } in MakeIllegalLoc()
55 static LocIdx MakeTombstoneLoc() { in MakeTombstoneLoc()
56 LocIdx L = LocIdx(); in MakeTombstoneLoc()
67 bool operator==(const LocIdx &L) const { return Location == L.Location; }
71 bool operator!=(const LocIdx &L) const { return !(*this == L); }
73 bool operator<(const LocIdx &Other) const {
128 ValueIDNum(uint64_t Block, uint64_t Inst, LocIdx Loc) { in ValueIDNum()
305 using argument_type = LocIdx;
306 unsigned operator()(const LocIdx &L) const { return L.asU64(); } in operator()
368 std::vector<LocIdx> LocIDToLocIdx;
418 LocIdx Idx;
423 value_type(LocIdx Idx, ValueIDNum &Value) : Idx(Idx), Value(Value) {} in value_type()
424 const LocIdx Idx; /// Read-only index of this location.
428 MLocIterator(LocToValueType &ValueMap, LocIdx Idx) in MLocIterator()
440 void operator++() { Idx = LocIdx(Idx.asU64() + 1); }
442 value_type operator*() { return value_type(Idx, ValueMap[LocIdx(Idx)]); }
543 LocIDToLocIdx.resize(NumRegs, LocIdx::MakeIllegalLoc()); in clear()
547 void setMLoc(LocIdx L, ValueIDNum Num) { in setMLoc()
553 ValueIDNum readMLoc(LocIdx L) { in readMLoc()
560 LocIdx trackRegister(unsigned ID);
562 LocIdx lookupOrTrackRegister(unsigned ID) { in lookupOrTrackRegister()
563 LocIdx &Index = LocIDToLocIdx[ID]; in lookupOrTrackRegister()
571 LocIdx &Index = LocIDToLocIdx[R]; in isRegisterTracked()
580 LocIdx Idx = lookupOrTrackRegister(ID); in defReg()
589 LocIdx Idx = lookupOrTrackRegister(ID); in setReg()
595 LocIdx Idx = lookupOrTrackRegister(ID); in readReg()
605 LocIdx Idx = LocIDToLocIdx[ID]; in wipeRegister()
610 LocIdx getRegMLoc(Register R) { in getRegMLoc()
628 LocIdx getSpillMLoc(unsigned SpillID) { in getSpillMLoc()
634 bool isSpill(LocIdx Idx) const { return LocIdxToLocID[Idx] >= NumRegs; } in isSpill()
637 unsigned getLocSizeInBits(LocIdx L) const { in getLocSizeInBits()
660 std::string LocIdxToName(LocIdx Idx) const;
673 MachineInstrBuilder emitLoc(Optional<LocIdx> MLoc, const DebugVariable &Var,
791 using MLocTransferMap = SmallDenseMap<LocIdx, ValueIDNum>;
880 Optional<LocIdx> ReadLoc;
1140 bool isCalleeSaved(LocIdx L) const;
1155 Optional<LocIdx> findLocationForMemOperand(const MachineInstr &MI);
1163 template <> struct DenseMapInfo<LocIdx> {
1164 static inline LocIdx getEmptyKey() { return LocIdx::MakeIllegalLoc(); }
1165 static inline LocIdx getTombstoneKey() { return LocIdx::MakeTombstoneLoc(); }
1167 static unsigned getHashValue(const LocIdx &Loc) { return Loc.asU64(); }
1169 static bool isEqual(const LocIdx &A, const LocIdx &B) { return A == B; }