Lines Matching refs:ValueIDNum
299 class ValueIDNum { class
308 ValueIDNum() : BlockNo(0xFFFFF), in ValueIDNum() function in __anon36b66d1c0111::ValueIDNum
312 ValueIDNum(uint64_t Block, uint64_t Inst, uint64_t Loc) in ValueIDNum() function in __anon36b66d1c0111::ValueIDNum
315 ValueIDNum(uint64_t Block, uint64_t Inst, LocIdx Loc) in ValueIDNum() function in __anon36b66d1c0111::ValueIDNum
329 static ValueIDNum fromU64(uint64_t v) { in fromU64()
334 bool operator<(const ValueIDNum &Other) const { in operator <()
338 bool operator==(const ValueIDNum &Other) const { in operator ==()
343 bool operator!=(const ValueIDNum &Other) const { return !(*this == Other); } in operator !=()
355 static ValueIDNum EmptyValue;
417 using LocToValueType = IndexedMap<ValueIDNum, LocIdxToIndexFunctor>;
464 value_type(LocIdx Idx, ValueIDNum &Value) : Idx(Idx), Value(Value) { } in value_type()
466 ValueIDNum &Value; /// Reference to the stored value at this location.
493 LocIdxToIDNum(ValueIDNum::EmptyValue), in MLocTracker()
517 ValueIDNum getNumAtPos(LocIdx Idx) const { in getNumAtPos()
535 void loadFromArray(ValueIDNum *Locs, unsigned NewCurBB) { in loadFromArray()
565 void setMLoc(LocIdx L, ValueIDNum Num) { in setMLoc()
579 ValueIDNum ValNum = {CurBB, 0, NewIdx}; in trackRegister()
607 ValueIDNum ValueID = {BB, Inst, Idx}; in defReg()
613 void setReg(Register R, ValueIDNum ValueID) { in setReg()
619 ValueIDNum readReg(Register R) { in readReg()
632 LocIdxToIDNum[Idx] = ValueIDNum::EmptyValue; in wipeRegister()
680 void setSpill(SpillLoc L, ValueIDNum ValueID) { in setSpill()
686 Optional<ValueIDNum> readSpill(SpillLoc L) { in readSpill()
732 std::string IDAsString(const ValueIDNum &Num) const { in IDAsString()
803 ValueIDNum ID;
824 DbgValue(const ValueIDNum &Val, const DbgValueProperties &Prop, KindT Kind) in DbgValue()
910 Optional<ValueIDNum> ID) { in defVar()
988 std::vector<ValueIDNum> VarLocs;
1008 ValueIDNum ID;
1043 void loadInlocs(MachineBasicBlock &MBB, ValueIDNum *MLocs, in loadInlocs()
1064 std::map<ValueIDNum, LocIdx> ValueToLoc; in loadInlocs()
1071 ValueIDNum &VNum = MLocs[Idx.asU64()]; in loadInlocs()
1096 const ValueIDNum &Num = Var.second.ID; in loadInlocs()
1123 const DbgValueProperties &Properties, ValueIDNum ID) { in addUseBeforeDef()
1188 bool isEntryValueValue(const ValueIDNum &Val) const { in isEntryValueValue()
1204 const ValueIDNum &Num) { in recoverAsEntryValue()
1306 ValueIDNum OldValue = VarLocs[MLoc.asU64()]; in clobberMloc()
1307 VarLocs[MLoc.asU64()] = ValueIDNum::EmptyValue; in clobberMloc()
1395 VarLocs[Src.asU64()] = ValueIDNum::EmptyValue; in transferMlocs()
1428 using MLocTransferMap = std::map<LocIdx, ValueIDNum>;
1493 ValueIDNum ValueRead; ///< The value number read by the DBG_PHI.
1531 void process(MachineInstr &MI, ValueIDNum **MLiveOuts = nullptr,
1532 ValueIDNum **MLiveIns = nullptr);
1540 bool transferDebugInstrRef(MachineInstr &MI, ValueIDNum **MLiveOuts,
1541 ValueIDNum **MLiveIns);
1572 Optional<ValueIDNum> resolveDbgPHIs(MachineFunction &MF,
1573 ValueIDNum **MLiveOuts,
1574 ValueIDNum **MLiveIns, MachineInstr &Here,
1591 void mlocDataflow(ValueIDNum **MInLocs, ValueIDNum **MOutLocs,
1604 ValueIDNum **OutLocs, ValueIDNum *InLocs);
1622 LiveInsT &Output, ValueIDNum **MOutLocs,
1623 ValueIDNum **MInLocs,
1639 ValueIDNum **MOutLocs, ValueIDNum **MInLocs,
1665 std::tuple<Optional<ValueIDNum>, bool>
1667 const LiveIdxT &LiveOuts, ValueIDNum **MOutLocs,
1668 ValueIDNum **MInLocs,
1679 ValueIDNum **MOutLocs, ValueIDNum **MInLocs,
1711 ValueIDNum ValueIDNum::EmptyValue = {UINT_MAX, UINT_MAX, UINT_MAX};
1794 ValueIDNum **MLiveOuts, in transferDebugInstrRef()
1795 ValueIDNum **MLiveIns) { in transferDebugInstrRef()
1844 Optional<ValueIDNum> NewID = None; in transferDebugInstrRef()
1864 NewID = ValueIDNum(BlockNo, InstrIt->second.second, L); in transferDebugInstrRef()
1934 NewID = ValueIDNum(NewID->getBlock(), NewID->getInst(), NewLoc); in transferDebugInstrRef()
1960 ValueIDNum ID = MTracker->LocIdxToIDNum[CurL]; in transferDebugInstrRef()
2015 ValueIDNum Num = MTracker->readReg(Reg); in transferDebugPHI()
2033 Optional<ValueIDNum> Num = MTracker->readSpill(SL); in transferDebugPHI()
2056 ValueIDNum Num = MTracker->readReg(MI.getOperand(0).getReg()); in transferRegisterDef()
2124 ValueIDNum SrcValue = MTracker->readReg(SrcRegNum); in performCopy()
2165 ValueIDNum CpyValue = {SrcValue.getBlock(), SrcValue.getInst(), SrcL}; in performCopy()
2233 MTracker->setMLoc(*MLoc, ValueIDNum::EmptyValue); in transferSpillOrRestoreInst()
2264 ValueIDNum ValueID = *OptValueID; in transferSpillOrRestoreInst()
2290 ValueIDNum ValueID = {CurBB, 0, L}; in transferSpillOrRestoreInst()
2417 void InstrRefBasedLDV::process(MachineInstr &MI, ValueIDNum **MLiveOuts, in process()
2418 ValueIDNum **MLiveIns) { in process()
2494 ValueIDNum &P = Location.Value; in produceMLocTransferFunction()
2543 ValueIDNum NotGeneratedNum = ValueIDNum(I, 1, Idx); in produceMLocTransferFunction()
2547 ValueIDNum &ValueID = Result.first->second; in produceMLocTransferFunction()
2559 ValueIDNum **OutLocs, ValueIDNum *InLocs) { in mlocJoin()
2591 ValueIDNum BaseVal = OutLocs[BlockOrders[0]->getNumber()][Idx.asU64()]; in mlocJoin()
2627 ValueIDNum &InLocID = InLocs[Idx.asU64()]; in mlocJoin()
2645 ValueIDNum PHI = {(uint64_t)MBB.getNumber(), 0, Idx}; in mlocJoin()
2646 ValueIDNum NewVal = (Disagree && !OverRide) ? PHI : BaseVal; in mlocJoin()
2658 ValueIDNum **MInLocs, ValueIDNum **MOutLocs, in mlocDataflow()
2686 SmallVector<std::pair<LocIdx, ValueIDNum>, 32> ToRemap; in mlocDataflow()
2718 ValueIDNum NewID = MTracker->getNumAtPos(P.second.getLoc()); in mlocDataflow()
2817 std::tuple<Optional<ValueIDNum>, bool> InstrRefBasedLDV::pickVPHILoc( in pickVPHILoc()
2819 ValueIDNum **MOutLocs, ValueIDNum **MInLocs, in pickVPHILoc()
2855 ValueIDNum ValToLookFor = OutVal.ID; in pickVPHILoc()
2866 return std::tuple<Optional<ValueIDNum>, bool>(None, false); in pickVPHILoc()
2901 return std::tuple<Optional<ValueIDNum>, bool>(None, false); in pickVPHILoc()
2905 ValueIDNum PHIVal = {(unsigned)MBB.getNumber(), 0, L}; in pickVPHILoc()
2906 return std::tuple<Optional<ValueIDNum>, bool>(PHIVal, ValidForAllLocs); in pickVPHILoc()
2912 const SmallSet<DebugVariable, 4> &AllVars, ValueIDNum **MOutLocs, in vlocJoin()
2913 ValueIDNum **MInLocs, in vlocJoin()
3030 const ValueIDNum &FirstID = FirstVal.ID; in vlocJoin()
3139 Optional<ValueIDNum> VPHI; in vlocJoin()
3182 ValueIDNum **MOutLocs, ValueIDNum **MInLocs, in vlocDataflow()
3422 MachineFunction &MF, LiveInsT SavedLiveIns, ValueIDNum **MOutLocs, in emitLocations()
3423 ValueIDNum **MInLocs, DenseMap<DebugVariable, unsigned> &AllVarsNumbering, in emitLocations()
3568 ValueIDNum **MOutLocs = new ValueIDNum *[MaxNumBlocks]; in ExtendRanges()
3569 ValueIDNum **MInLocs = new ValueIDNum *[MaxNumBlocks]; in ExtendRanges()
3572 MOutLocs[i] = new ValueIDNum[NumLocs]; in ExtendRanges()
3573 MInLocs[i] = new ValueIDNum[NumLocs]; in ExtendRanges()
3586 ValueIDNum &Num = DBG_PHI.ValueRead; in ExtendRanges()
3787 ValueIDNum **MLiveIns;
3789 LDVSSAUpdater(LocIdx L, ValueIDNum **MLiveIns) : Loc(L), MLiveIns(MLiveIns) {} in LDVSSAUpdater()
3899 BlockValueNum Num = ValueIDNum(BB->BB.getNumber(), 0, Updater->Loc).asU64(); in GetUndefVal()
3948 Optional<ValueIDNum> InstrRefBasedLDV::resolveDbgPHIs(MachineFunction &MF, in resolveDbgPHIs()
3949 ValueIDNum **MLiveOuts, in resolveDbgPHIs()
3950 ValueIDNum **MLiveIns, in resolveDbgPHIs()
3993 const ValueIDNum &Num = DBG_PHI.ValueRead; in resolveDbgPHIs()
4002 return ValueIDNum::fromU64(AvailIt->second); in resolveDbgPHIs()
4009 ValueIDNum Result = ValueIDNum::fromU64(ResultInt); in resolveDbgPHIs()
4022 DenseMap<LDVSSABlock *, ValueIDNum> ValidatedValues; in resolveDbgPHIs()
4027 const ValueIDNum &Num = DBG_PHI.ValueRead; in resolveDbgPHIs()
4042 ValueIDNum ThisBlockValueNum = in resolveDbgPHIs()
4051 ValueIDNum ValueToCheck; in resolveDbgPHIs()
4052 ValueIDNum *BlockLiveOuts = MLiveOuts[PHIIt.first->BB.getNumber()]; in resolveDbgPHIs()