Lines Matching refs:MTracker

181   MLocTracker *MTracker;  member in TransferTracker
245 TransferTracker(const TargetInstrInfo *TII, MLocTracker *MTracker, in TransferTracker() argument
248 : TII(TII), MTracker(MTracker), MF(MF), TRI(TRI), in TransferTracker()
273 unsigned Reg = MTracker->LocIdxToLocID[L]; in loadInlocs()
274 if (Reg >= MTracker->NumRegs) in loadInlocs()
297 for (auto Location : MTracker->locations()) { in loadInlocs()
312 if (CurLoc.isIllegal() || MTracker->isSpill(CurLoc) || in loadInlocs()
347 MTracker->emitLoc(M, Var.first, Var.second.Properties)); in loadInlocs()
377 if (MTracker->readMLoc(L) != Use.ID) in checkInstForNewValues()
385 PendingDbgValues.push_back(MTracker->emitLoc(L, Use.Var, Use.Properties)); in checkInstForNewValues()
426 if (MTracker->isSpill(Val.getLoc())) in isEntryValueValue()
431 Register Reg = MTracker->LocIdxToLocID[Val.getLoc()]; in isEntryValueValue()
454 Register Reg = MTracker->LocIdxToLocID[Num.getLoc()]; in recoverAsEntryValue()
482 LocIdx NewLoc = MTracker->getRegMLoc(Reg); in redefVar()
509 if (MTracker->readMLoc(NewLoc) != VarLocs[NewLoc.asU64()]) { in redefVar()
514 VarLocs[NewLoc.asU64()] = MTracker->readMLoc(NewLoc); in redefVar()
555 for (auto Loc : MTracker->locations()) in clobberMloc()
579 PendingDbgValues.push_back(MTracker->emitLoc(NewLoc, Var, Properties)); in clobberMloc()
614 if (VarLocs[Src.asU64()] != MTracker->readMLoc(Src)) in transferMlocs()
632 MTracker->emitLoc(Dst, Var, ActiveVLocIt->second.Properties); in transferMlocs()
976 unsigned Reg = MTracker->LocIdxToLocID[L]; in isCalleeSaved()
1004 return MTracker->getOrTrackSpillLoc({Reg, Offset}); in extractSpillBaseRegAndOffset()
1021 auto IdxIt = MTracker->StackSlotIdxes.find({SizeInBits, 0}); in findLocationForMemOperand()
1022 if (IdxIt == MTracker->StackSlotIdxes.end()) in findLocationForMemOperand()
1027 unsigned SpillID = MTracker->getSpillIDWithIdx(*SpillLoc, IdxIt->second); in findLocationForMemOperand()
1028 return MTracker->getSpillMLoc(SpillID); in findLocationForMemOperand()
1069 (void)MTracker->readReg(MO.getReg()); in transferDebugValue()
1079 VTracker->defVar(MI, Properties, MTracker->readReg(MO.getReg())); in transferDebugValue()
1174 unsigned LocID = MTracker->getLocID(MO.getReg()); in transferDebugInstrRef()
1175 LocIdx L = MTracker->LocIDToLocIdx[LocID]; in transferDebugInstrRef()
1222 if (NewID && !MTracker->isSpill(L)) { in transferDebugInstrRef()
1225 Register Reg = MTracker->LocIdxToLocID[L]; in transferDebugInstrRef()
1254 LocIdx NewLoc = MTracker->lookupOrTrackRegister(NewReg); in transferDebugInstrRef()
1280 for (auto Location : MTracker->locations()) { in transferDebugInstrRef()
1282 ValueIDNum ID = MTracker->readMLoc(CurL); in transferDebugInstrRef()
1291 if (MTracker->isSpill(CurL)) in transferDebugInstrRef()
1293 else if (!MTracker->isSpill(*FoundLoc) && in transferDebugInstrRef()
1294 !MTracker->isSpill(CurL) && in transferDebugInstrRef()
1314 MachineInstr *DbgMI = MTracker->emitLoc(FoundLoc, V, Properties); in transferDebugInstrRef()
1346 ValueIDNum Num = MTracker->readReg(Reg); in transferDebugPHI()
1348 {InstrNum, MI.getParent(), Num, MTracker->lookupOrTrackRegister(Reg)}); in transferDebugPHI()
1353 MTracker->lookupOrTrackRegister(*RAI); in transferDebugPHI()
1367 Optional<SpillLocationNo> SpillNo = MTracker->getOrTrackSpillLoc(SL); in transferDebugPHI()
1378 unsigned SpillID = MTracker->getLocID(*SpillNo, {slotBitSize, 0}); in transferDebugPHI()
1379 LocIdx SpillLoc = MTracker->getSpillMLoc(SpillID); in transferDebugPHI()
1380 ValueIDNum Result = MTracker->readMLoc(SpillLoc); in transferDebugPHI()
1406 ValueIDNum Num = MTracker->readReg(MI.getOperand(0).getReg()); in transferRegisterDef()
1429 return MI.isCall() && MTracker->SPAliases.count(R); in transferRegisterDef()
1455 MTracker->defReg(DeadReg, CurBB, CurInst); in transferRegisterDef()
1458 MTracker->writeRegMask(MO, CurBB, CurInst); in transferRegisterDef()
1463 for (unsigned int I = 0; I < MTracker->NumSlotIdxes; ++I) { in transferRegisterDef()
1464 unsigned SpillID = MTracker->getSpillIDWithIdx(*SpillNo, I); in transferRegisterDef()
1465 LocIdx L = MTracker->getSpillMLoc(SpillID); in transferRegisterDef()
1466 MTracker->setMLoc(L, ValueIDNum(CurBB, CurInst, L)); in transferRegisterDef()
1480 LocIdx Loc = MTracker->lookupOrTrackRegister(DeadReg); in transferRegisterDef()
1487 for (auto L : MTracker->locations()) { in transferRegisterDef()
1489 if (MTracker->isSpill(L.Idx)) in transferRegisterDef()
1492 Register Reg = MTracker->LocIdxToLocID[L.Idx]; in transferRegisterDef()
1505 for (unsigned int I = 0; I < MTracker->NumSlotIdxes; ++I) { in transferRegisterDef()
1506 unsigned SpillID = MTracker->getSpillIDWithIdx(*SpillNo, I); in transferRegisterDef()
1507 LocIdx L = MTracker->getSpillMLoc(SpillID); in transferRegisterDef()
1517 MTracker->defReg(*RAI, CurBB, CurInst); in performCopy()
1519 ValueIDNum SrcValue = MTracker->readReg(SrcRegNum); in performCopy()
1520 MTracker->setReg(DstRegNum, SrcValue); in performCopy()
1535 LocIdx SrcL = MTracker->lookupOrTrackRegister(SrcSubReg); in performCopy()
1536 LocIdx DstL = MTracker->lookupOrTrackRegister(DstSubReg); in performCopy()
1539 ValueIDNum CpyValue = MTracker->readReg(SrcSubReg); in performCopy()
1541 MTracker->setReg(DstSubReg, CpyValue); in performCopy()
1622 for (unsigned SlotIdx = 0; SlotIdx < MTracker->NumSlotIdxes; ++SlotIdx) { in transferSpillOrRestoreInst()
1623 unsigned SpillID = MTracker->getSpillIDWithIdx(*Loc, SlotIdx); in transferSpillOrRestoreInst()
1624 Optional<LocIdx> MLoc = MTracker->getSpillMLoc(SpillID); in transferSpillOrRestoreInst()
1633 MTracker->setMLoc(*MLoc, Def); in transferSpillOrRestoreInst()
1646 auto ReadValue = MTracker->readReg(SrcReg); in transferSpillOrRestoreInst()
1647 LocIdx DstLoc = MTracker->getSpillMLoc(SpillID); in transferSpillOrRestoreInst()
1648 MTracker->setMLoc(DstLoc, ReadValue); in transferSpillOrRestoreInst()
1651 LocIdx SrcLoc = MTracker->getRegMLoc(SrcReg); in transferSpillOrRestoreInst()
1659 (void)MTracker->lookupOrTrackRegister(*SRI); in transferSpillOrRestoreInst()
1661 unsigned SpillID = MTracker->getLocID(Loc, SubregIdx); in transferSpillOrRestoreInst()
1667 unsigned SpillID = MTracker->getLocID(Loc, {Size, 0}); in transferSpillOrRestoreInst()
1682 MTracker->defReg(*RAI, CurBB, CurInst); in transferSpillOrRestoreInst()
1687 LocIdx SrcIdx = MTracker->getSpillMLoc(SpillID); in transferSpillOrRestoreInst()
1688 auto ReadValue = MTracker->readMLoc(SrcIdx); in transferSpillOrRestoreInst()
1689 MTracker->setReg(DestReg, ReadValue); in transferSpillOrRestoreInst()
1694 unsigned SpillID = MTracker->getLocID(*Loc, Subreg); in transferSpillOrRestoreInst()
1700 unsigned SpillID = MTracker->getLocID(*Loc, {Size, 0}); in transferSpillOrRestoreInst()
1750 LocIdx ClobberedLoc = MTracker->getRegMLoc(*RAI); in transferRegisterCopy()
1756 ValueIDNum Value = MTracker->readReg(*RAI); in transferRegisterCopy()
1777 TTracker->transferMlocs(MTracker->getRegMLoc(SrcReg), in transferRegisterCopy()
1778 MTracker->getRegMLoc(DestReg), MI.getIterator()); in transferRegisterCopy()
1782 MTracker->defReg(SrcReg, CurBB, CurInst); in transferRegisterCopy()
1889 MTracker->reset(); in produceMLocTransferFunction()
1890 MTracker->setMPhis(CurBB); in produceMLocTransferFunction()
1921 for (auto Location : MTracker->locations()) { in produceMLocTransferFunction()
1936 for (auto &P : MTracker->Masks) { in produceMLocTransferFunction()
1943 for (auto Location : MTracker->locations()) { in produceMLocTransferFunction()
1944 unsigned ID = MTracker->LocIdxToLocID[Location.Idx]; in produceMLocTransferFunction()
1946 if (ID >= TRI->getNumRegs() || MTracker->SPAliases.count(ID)) in produceMLocTransferFunction()
1962 unsigned ID = MTracker->getLocID(Bit); in produceMLocTransferFunction()
1963 LocIdx Idx = MTracker->LocIDToLocIdx[ID]; in produceMLocTransferFunction()
2011 for (auto Location : MTracker->locations()) { in mlocJoin()
2072 auto It = MTracker->StackSlotIdxes.find({8, 0}); in findStackIndexInterference()
2073 assert(It != MTracker->StackSlotIdxes.end()); in findStackIndexInterference()
2077 for (auto &Pair : MTracker->StackSlotIdxes) { in findStackIndexInterference()
2101 for (auto Location : MTracker->locations()) { in placeMLocPHIs()
2103 if (MTracker->isSpill(L)) { in placeMLocPHIs()
2104 StackSlots.insert(MTracker->locIDToSpill(MTracker->LocIdxToLocID[L])); in placeMLocPHIs()
2108 Register R = MTracker->LocIdxToLocID[L]; in placeMLocPHIs()
2113 if (!MTracker->isRegisterTracked(*URoot)) { in placeMLocPHIs()
2173 unsigned SpillID = MTracker->getSpillIDWithIdx(Slot, Idx); in placeMLocPHIs()
2174 LocIdx L = MTracker->getSpillMLoc(SpillID); in placeMLocPHIs()
2180 std::tie(Size, Offset) = MTracker->StackIdxesToPos[Idx]; in placeMLocPHIs()
2181 for (auto &Pair : MTracker->StackSlotIdxes) { in placeMLocPHIs()
2187 unsigned ThisID = MTracker->getSpillIDWithIdx(Slot, Pair.second); in placeMLocPHIs()
2188 LocIdx ThisL = MTracker->getSpillMLoc(ThisID); in placeMLocPHIs()
2196 LocIdx L = MTracker->lookupOrTrackRegister(R); in placeMLocPHIs()
2206 if (!MTracker->isRegisterTracked(*RAI)) in placeMLocPHIs()
2209 LocIdx AliasLoc = MTracker->lookupOrTrackRegister(*RAI); in placeMLocPHIs()
2237 for (auto Location : MTracker->locations()) in buildMLocValueMap()
2240 MTracker->reset(); in buildMLocValueMap()
2276 MTracker->loadFromArray(MInLocs[CurBB], CurBB); in buildMLocValueMap()
2284 ValueIDNum NewID = MTracker->readMLoc(P.second.getLoc()); in buildMLocValueMap()
2296 MTracker->setMLoc(P.first, P.second); in buildMLocValueMap()
2302 for (auto Location : MTracker->locations()) { in buildMLocValueMap()
2307 MTracker->reset(); in buildMLocValueMap()
2364 unsigned NumLocs = MTracker->getNumLocs(); in pickVPHILoc()
2910 std::string foo = MTracker->LocIdxToName(P.first); in dump_mloc_transfer()
2911 std::string bar = MTracker->IDAsString(P.second); in dump_mloc_transfer()
3015 TTracker = new TransferTracker(TII, MTracker, MF, *TRI, CalleeSavedRegs, TPC); in depthFirstVLocAndEmit()
3016 unsigned NumLocs = MTracker->getNumLocs(); in depthFirstVLocAndEmit()
3038 MTracker->reset(); in depthFirstVLocAndEmit()
3039 MTracker->loadFromArray(MInLocs[BBNum], BBNum); in depthFirstVLocAndEmit()
3190 MTracker = in ExtendRanges()
3218 unsigned NumLocs = MTracker->getNumLocs(); in ExtendRanges()
3256 MTracker->loadFromArray(MInLocs[CurBB], CurBB); in ExtendRanges()
3262 MTracker->reset(); in ExtendRanges()
3323 delete MTracker; in ExtendRanges()
3325 MTracker = nullptr; in ExtendRanges()