Lines Matching refs:LocIdx
235 class LocIdx { class
240 LocIdx() : Location(UINT_MAX) { } in LocIdx() function in __anon84c0493f0111::LocIdx
244 LocIdx(unsigned L) : Location(L) { in LocIdx() function in __anon84c0493f0111::LocIdx
248 static LocIdx MakeIllegalLoc() { in MakeIllegalLoc()
249 return LocIdx(); in MakeIllegalLoc()
264 bool operator==(const LocIdx &L) const { in operator ==()
272 bool operator!=(const LocIdx &L) const { in operator !=()
276 bool operator<(const LocIdx &Other) const { in operator <()
283 using argument_type = LocIdx;
284 unsigned operator()(const LocIdx &L) const { in operator ()()
315 ValueIDNum(uint64_t Block, uint64_t Inst, LocIdx Loc) in ValueIDNum()
431 std::vector<LocIdx> LocIDToLocIdx;
459 LocIdx Idx;
464 value_type(LocIdx Idx, ValueIDNum &Value) : Idx(Idx), Value(Value) { } in value_type()
465 const LocIdx Idx; /// Read-only index of this location.
469 MLocIterator(LocToValueType &ValueMap, LocIdx Idx) in MLocIterator()
482 Idx = LocIdx(Idx.asU64() + 1); in operator ++()
486 return value_type(Idx, ValueMap[LocIdx(Idx)]); in operator *()
497 LocIDToLocIdx.resize(NumRegs, LocIdx::MakeIllegalLoc()); in MLocTracker()
517 ValueIDNum getNumAtPos(LocIdx Idx) const { in getNumAtPos()
561 LocIDToLocIdx.resize(NumRegs, LocIdx::MakeIllegalLoc()); in clear()
565 void setMLoc(LocIdx L, ValueIDNum Num) { in setMLoc()
572 LocIdx trackRegister(unsigned ID) { in trackRegister()
574 LocIdx NewIdx = LocIdx(LocIdxToIDNum.size()); in trackRegister()
594 LocIdx lookupOrTrackRegister(unsigned ID) { in lookupOrTrackRegister()
595 LocIdx &Index = LocIDToLocIdx[ID]; in lookupOrTrackRegister()
606 LocIdx Idx = lookupOrTrackRegister(ID); in defReg()
615 LocIdx Idx = lookupOrTrackRegister(ID); in setReg()
621 LocIdx Idx = lookupOrTrackRegister(ID); in readReg()
631 LocIdx Idx = LocIDToLocIdx[ID]; in wipeRegister()
636 LocIdx getRegMLoc(Register R) { in getRegMLoc()
661 LocIdx getOrTrackSpillLoc(SpillLoc L) { in getOrTrackSpillLoc()
666 LocIdx Idx = LocIdx(LocIdxToIDNum.size()); // New idx in getOrTrackSpillLoc()
674 LocIdx Idx = LocIDToLocIdx[L]; in getOrTrackSpillLoc()
681 LocIdx Idx = getOrTrackSpillLoc(L); in setSpill()
692 LocIdx Idx = LocIDToLocIdx[LocID]; in readSpill()
698 Optional<LocIdx> getSpillMLoc(SpillLoc L) { in getSpillMLoc()
707 bool isSpill(LocIdx Idx) const { in isSpill()
724 std::string LocIdxToName(LocIdx Idx) const { in LocIdxToName()
757 MachineInstrBuilder emitLoc(Optional<LocIdx> MLoc, const DebugVariable &Var, in emitLoc()
972 LocIdx Loc;
988 std::map<LocIdx, SmallSet<DebugVariable, 4>> ActiveMLocs;
1044 auto isCalleeSaved = [&](LocIdx L) { in loadInlocs()
1055 std::map<ValueIDNum, LocIdx> ValueToLoc; in loadInlocs()
1061 LocIdx Idx = Location.Idx; in loadInlocs()
1097 LocIdx M = ValuesPreferredLoc->second; in loadInlocs()
1128 LocIdx L = Use.ID.getLoc(); in checkInstForNewValues()
1176 LocIdx NewLoc = MTracker->getRegMLoc(Reg); in redefVar()
1184 Optional<LocIdx> OptNewLoc) { in redefVar()
1198 LocIdx NewLoc = *OptNewLoc; in redefVar()
1224 void clobberMloc(LocIdx MLoc, MachineBasicBlock::iterator Pos) { in clobberMloc()
1249 void transferMlocs(LocIdx Src, LocIdx Dst, MachineBasicBlock::iterator Pos) { in transferMlocs()
1309 using MLocTransferMap = std::map<LocIdx, ValueIDNum>;
1539 bool isCalleeSaved(LocIdx L) { in isCalleeSaved()
1694 LocIdx L = MTracker->LocIDToLocIdx[LocID]; in transferDebugInstrRef()
1712 Optional<LocIdx> FoundLoc = None; in transferDebugInstrRef()
1714 LocIdx CurL = Location.Idx; in transferDebugInstrRef()
1839 LocIdx SrcL = MTracker->getRegMLoc(SrcSubReg); in performCopy()
1842 LocIdx DstL = MTracker->getRegMLoc(DstSubReg); in performCopy()
1947 Optional<LocIdx> MLoc = MTracker->getSpillMLoc(*Loc); in transferSpillOrRestoreInst()
1965 LocIdx SpillLocIdx = *OptSpillLocIdx; in transferSpillOrRestoreInst()
1979 LocIdx SpillLocIdx = *MTracker->getSpillMLoc(*Loc); in transferSpillOrRestoreInst()
1999 LocIdx L = MTracker->getOrTrackSpillLoc(*Loc); in transferSpillOrRestoreInst()
2195 LocIdx Idx = Location.Idx; in produceMLocTransferFunction()
2237 LocIdx Idx = MTracker->LocIDToLocIdx[ID]; in produceMLocTransferFunction()
2290 LocIdx Idx = Location.Idx; in mlocJoin()
2388 SmallVector<std::pair<LocIdx, ValueIDNum>, 32> ToRemap; in mlocDataflow()
2525 SmallVector<SmallVector<LocIdx, 4>, 8> Locs; in pickVPHILoc()
2562 Locs.back().push_back(LocIdx(I)); in pickVPHILoc()
2571 using LocsIt = SmallVector<SmallVector<LocIdx, 4>, 8>::iterator; in pickVPHILoc()
2573 [&Locs](llvm::iterator_range<LocsIt> SearchRange) -> Optional<LocIdx> { in pickVPHILoc()
2576 SmallVector<LocIdx, 4> base = Locs[0]; in pickVPHILoc()
2578 SmallVector<LocIdx, 4> new_base; in pickVPHILoc()
2606 LocIdx L = *TheLoc; in pickVPHILoc()