Lines Matching defs:ValueIDNum
228 SmallVector<ValueIDNum, 32> VarLocs;
322 using ValueLocPair = std::pair<ValueIDNum, LocationAndQuality>;
352 /// ValueIDNum that Value may use.
386 // Search for the desired ValueIDNum, to examine the best location found
388 const ValueIDNum &Num = Op.ID;
483 ValueIDNum &VNum = MLocs[Idx.asU64()];
484 if (VNum == ValueIDNum::EmptyValue)
531 SmallDenseMap<ValueIDNum, LocationAndQuality> ValueToLoc;
556 ValueIDNum &LocValueID = Location.Value;
635 bool isEntryValueValue(const ValueIDNum &Val) const {
652 const ValueIDNum &Num) {
808 ValueIDNum OldValue = VarLocs[MLoc.asU64()];
814 void clobberMloc(LocIdx MLoc, ValueIDNum OldValue,
820 VarLocs[MLoc.asU64()] = ValueIDNum::EmptyValue;
947 VarLocs[Src.asU64()] = ValueIDNum::EmptyValue;
972 ValueIDNum ValueIDNum::EmptyValue = {UINT_MAX, UINT_MAX, UINT_MAX};
973 ValueIDNum ValueIDNum::TombstoneValue = {UINT_MAX, UINT_MAX, UINT_MAX - 1};
1024 LocIdxToIDNum(ValueIDNum::EmptyValue), LocIdxToLocID(0) {
1095 ValueIDNum ValNum = {CurBB, 0, NewIdx};
1145 LocIdxToIDNum[Idx] = ValueIDNum(CurBB, 0, Idx);
1166 std::string MLocTracker::IDAsString(const ValueIDNum &Num) const {
1474 std::optional<ValueIDNum> InstrRefBasedLDV::getValueForInstrRef(
1500 std::optional<ValueIDNum> NewID;
1516 NewID = ValueIDNum(BlockNo, InstrIt->second.second, *L);
1529 NewID = ValueIDNum(BlockNo, InstrIt->second.second, L);
1609 NewID = ValueIDNum(NewID->getBlock(), NewID->getInst(), NewLoc);
1659 std::optional<ValueIDNum> NewID =
1692 SmallDenseMap<ValueIDNum, TransferTracker::LocationAndQuality> FoundLocs;
1693 SmallVector<ValueIDNum> ValuesToFind;
1705 ValueIDNum ID = MTracker->readMLoc(CurL);
1746 ValueIDNum NewID = ValueLoc.first;
1805 ValueIDNum Num = MTracker->readReg(Reg);
1839 ValueIDNum Result = MTracker->readMLoc(SpillLoc);
1865 ValueIDNum Num = MTracker->readReg(MI.getOperand(0).getReg());
1925 MTracker->setMLoc(L, ValueIDNum(CurBB, CurInst, L));
1979 ValueIDNum SrcValue = MTracker->readReg(SrcRegNum);
1999 ValueIDNum CpyValue = MTracker->readReg(SrcSubReg);
2092 ValueIDNum Def(CurBB, CurInst, *MLoc);
2200 DenseMap<LocIdx, ValueIDNum> ClobberedLocs;
2209 ValueIDNum Value = MTracker->readReg(*RAI);
2218 // Tell TTracker about it, passing the old ValueIDNum to search for
2375 ValueIDNum &P = Location.Value;
2423 ValueIDNum NotGeneratedNum = ValueIDNum(I, 1, Idx);
2427 ValueIDNum &ValueID = Result.first->second;
2473 ValueIDNum FirstVal = OutLocs[*BlockOrders[0]][Idx.asU64()];
2477 if (InLocs[Idx.asU64()] != ValueIDNum(MBB.getNumber(), 0, Idx)) {
2490 const ValueIDNum &PredLiveOut = OutLocs[*PredMBB][Idx.asU64()];
2497 if (PredLiveOut == ValueIDNum(MBB.getNumber(), 0, Idx))
2615 MInLocs[*MBB][L.asU64()] = ValueIDNum(MBB->getNumber(), 0, L);
2695 ValueIDNum(0, 0, Location.Idx);
2715 SmallVector<std::pair<LocIdx, ValueIDNum>, 32> ToRemap;
2741 ValueIDNum NewID = MTracker->readMLoc(P.second.getLoc());
2880 std::optional<ValueIDNum> JoinedOpLoc =
2893 std::optional<ValueIDNum> InstrRefBasedLDV::pickOperandPHILoc(
2919 ValueIDNum ValToLookFor = OutValOp.ID;
2934 ValueIDNum MPHI(MBB.getNumber(), 0, LocIdx(I));
2962 ValueIDNum PHIVal = {(unsigned)MBB.getNumber(), 0, L};
3761 ValueIDNum &Num = *DBG_PHI.ValueRead;
3767 ValueIDNum ResolvedValue = MInLocs[BlockNo][LocNo.asU64()];
3770 // block, which means we leave the ValueIDNum unchanged.
3771 if (ResolvedValue != ValueIDNum::EmptyValue)
4072 BlockValueNum Num = ValueIDNum(BB->BB.getNumber(), 0, Updater->Loc).asU64();
4118 std::optional<ValueIDNum> InstrRefBasedLDV::resolveDbgPHIs(
4127 std::optional<ValueIDNum> Result =
4133 std::optional<ValueIDNum> InstrRefBasedLDV::resolveDbgPHIsImpl(
4183 const ValueIDNum &Num = *DBG_PHI.ValueRead;
4192 return ValueIDNum::fromU64(AvailIt->second);
4199 ValueIDNum Result = ValueIDNum::fromU64(ResultInt);
4212 DenseMap<LDVSSABlock *, ValueIDNum> ValidatedValues;
4217 const ValueIDNum &Num = *DBG_PHI.ValueRead;
4231 ValueIDNum ThisBlockValueNum = MLiveIns[PHI->ParentBlock->BB][Loc.asU64()];
4239 ValueIDNum ValueToCheck;