Lines Matching refs:MTracker

184   MLocTracker *MTracker;  member in TransferTracker
271 TransferTracker(const TargetInstrInfo *TII, MLocTracker *MTracker, in TransferTracker() argument
275 : TII(TII), MTracker(MTracker), MF(MF), DVMap(DVMap), TRI(TRI), in TransferTracker()
283 unsigned Reg = MTracker->LocIdxToLocID[L]; in isCalleeSaved()
284 if (Reg >= MTracker->NumRegs) in isCalleeSaved()
338 if (MTracker->isSpill(L)) in getLocQualityIfBetter()
441 std::make_pair(VarID, &*MTracker->emitLoc(ResolvedDbgOps, Var, DILoc, in loadVarInloc()
482 for (auto Location : MTracker->locations()) { in loadInlocs()
555 for (auto Location : MTracker->locations()) { in checkInstForNewValues()
601 Use.VarID, MTracker->emitLoc(DbgOps, Var, DILoc, Use.Properties))); in checkInstForNewValues()
642 if (MTracker->isSpill(Val.getLoc())) in isEntryValueValue()
647 Register Reg = MTracker->LocIdxToLocID[Val.getLoc()]; in isEntryValueValue()
685 Register Reg = MTracker->LocIdxToLocID[Num.getLoc()]; in recoverAsEntryValue()
719 LocIdx NewLoc = MTracker->getRegMLoc(Reg); in redefVar()
764 if (MTracker->readMLoc(NewLoc) != VarLocs[NewLoc.asU64()]) { in redefVar()
783 VarLocs[NewLoc.asU64()] = MTracker->readMLoc(NewLoc); in redefVar()
826 for (auto Loc : MTracker->locations()) in clobberMloc()
869 VarID, &*MTracker->emitLoc(DbgOps, Var, DILoc, Properties))); in clobberMloc()
915 if (VarLocs[Src.asU64()] != MTracker->readMLoc(Src)) in transferMlocs()
938 MachineInstr *MI = MTracker->emitLoc(ActiveVLocIt->second.Ops, Var, DILoc, in transferMlocs()
1344 unsigned Reg = MTracker->LocIdxToLocID[L]; in isCalleeSaved()
1375 return MTracker->getOrTrackSpillLoc({Reg, Offset}); in extractSpillBaseRegAndOffset()
1393 auto IdxIt = MTracker->StackSlotIdxes.find({SizeInBits.getValue(), 0}); in findLocationForMemOperand()
1394 if (IdxIt == MTracker->StackSlotIdxes.end()) in findLocationForMemOperand()
1399 unsigned SpillID = MTracker->getSpillIDWithIdx(*SpillLoc, IdxIt->second); in findLocationForMemOperand()
1400 return MTracker->getSpillMLoc(SpillID); in findLocationForMemOperand()
1422 (void)MTracker->readReg(MO.getReg()); in transferDebugValue()
1436 DebugOps.push_back(DbgOpStore.insert(MTracker->readReg(MO.getReg()))); in transferDebugValue()
1507 unsigned LocID = MTracker->getLocID(MO.getReg()); in getValueForInstrRef()
1508 LocIdx L = MTracker->LocIDToLocIdx[LocID]; in getValueForInstrRef()
1556 if (NewID && !MTracker->isSpill(L)) { in getValueForInstrRef()
1559 Register Reg = MTracker->LocIdxToLocID[L]; in getValueForInstrRef()
1588 LocIdx NewLoc = MTracker->lookupOrTrackRegister(NewReg); in getValueForInstrRef()
1683 for (auto Location : MTracker->locations()) { in transferDebugInstrRef()
1685 ValueIDNum ID = MTracker->readMLoc(CurL); in transferDebugInstrRef()
1750 MTracker->emitLoc(NewLocs, V, MI.getDebugLoc().get(), Properties); in transferDebugInstrRef()
1785 ValueIDNum Num = MTracker->readReg(Reg); in transferDebugPHI()
1787 {InstrNum, MI.getParent(), Num, MTracker->lookupOrTrackRegister(Reg)}); in transferDebugPHI()
1792 MTracker->lookupOrTrackRegister(*RAI); in transferDebugPHI()
1806 std::optional<SpillLocationNo> SpillNo = MTracker->getOrTrackSpillLoc(SL); in transferDebugPHI()
1817 unsigned SpillID = MTracker->getLocID(*SpillNo, {slotBitSize, 0}); in transferDebugPHI()
1818 LocIdx SpillLoc = MTracker->getSpillMLoc(SpillID); in transferDebugPHI()
1819 ValueIDNum Result = MTracker->readMLoc(SpillLoc); in transferDebugPHI()
1845 ValueIDNum Num = MTracker->readReg(MI.getOperand(0).getReg()); in transferRegisterDef()
1868 return MI.isCall() && MTracker->SPAliases.count(R); in transferRegisterDef()
1893 MTracker->defReg(DeadReg, CurBB, CurInst); in transferRegisterDef()
1896 MTracker->writeRegMask(MO, CurBB, CurInst); in transferRegisterDef()
1902 for (unsigned int I = 0; I < MTracker->NumSlotIdxes; ++I) { in transferRegisterDef()
1903 unsigned SpillID = MTracker->getSpillIDWithIdx(*SpillNo, I); in transferRegisterDef()
1904 LocIdx L = MTracker->getSpillMLoc(SpillID); in transferRegisterDef()
1905 MTracker->setMLoc(L, ValueIDNum(CurBB, CurInst, L)); in transferRegisterDef()
1919 LocIdx Loc = MTracker->lookupOrTrackRegister(DeadReg); in transferRegisterDef()
1926 for (auto L : MTracker->locations()) { in transferRegisterDef()
1928 if (MTracker->isSpill(L.Idx)) in transferRegisterDef()
1931 Register Reg = MTracker->LocIdxToLocID[L.Idx]; in transferRegisterDef()
1945 for (unsigned int I = 0; I < MTracker->NumSlotIdxes; ++I) { in transferRegisterDef()
1946 unsigned SpillID = MTracker->getSpillIDWithIdx(*SpillNo, I); in transferRegisterDef()
1947 LocIdx L = MTracker->getSpillMLoc(SpillID); in transferRegisterDef()
1957 MTracker->defReg(*RAI, CurBB, CurInst); in performCopy()
1959 ValueIDNum SrcValue = MTracker->readReg(SrcRegNum); in performCopy()
1960 MTracker->setReg(DstRegNum, SrcValue); in performCopy()
1975 LocIdx SrcL = MTracker->lookupOrTrackRegister(SrcSubReg); in performCopy()
1976 LocIdx DstL = MTracker->lookupOrTrackRegister(DstSubReg); in performCopy()
1979 ValueIDNum CpyValue = MTracker->readReg(SrcSubReg); in performCopy()
1981 MTracker->setReg(DstSubReg, CpyValue); in performCopy()
2062 for (unsigned SlotIdx = 0; SlotIdx < MTracker->NumSlotIdxes; ++SlotIdx) { in transferSpillOrRestoreInst()
2063 unsigned SpillID = MTracker->getSpillIDWithIdx(*Loc, SlotIdx); in transferSpillOrRestoreInst()
2064 std::optional<LocIdx> MLoc = MTracker->getSpillMLoc(SpillID); in transferSpillOrRestoreInst()
2073 MTracker->setMLoc(*MLoc, Def); in transferSpillOrRestoreInst()
2086 auto ReadValue = MTracker->readReg(SrcReg); in transferSpillOrRestoreInst()
2087 LocIdx DstLoc = MTracker->getSpillMLoc(SpillID); in transferSpillOrRestoreInst()
2088 MTracker->setMLoc(DstLoc, ReadValue); in transferSpillOrRestoreInst()
2091 LocIdx SrcLoc = MTracker->getRegMLoc(SrcReg); in transferSpillOrRestoreInst()
2099 (void)MTracker->lookupOrTrackRegister(SR); in transferSpillOrRestoreInst()
2101 unsigned SpillID = MTracker->getLocID(Loc, SubregIdx); in transferSpillOrRestoreInst()
2107 unsigned SpillID = MTracker->getLocID(Loc, {Size, 0}); in transferSpillOrRestoreInst()
2122 MTracker->defReg(*RAI, CurBB, CurInst); in transferSpillOrRestoreInst()
2127 LocIdx SrcIdx = MTracker->getSpillMLoc(SpillID); in transferSpillOrRestoreInst()
2128 auto ReadValue = MTracker->readMLoc(SrcIdx); in transferSpillOrRestoreInst()
2129 MTracker->setReg(DestReg, ReadValue); in transferSpillOrRestoreInst()
2134 unsigned SpillID = MTracker->getLocID(*Loc, Subreg); in transferSpillOrRestoreInst()
2140 unsigned SpillID = MTracker->getLocID(*Loc, {Size, 0}); in transferSpillOrRestoreInst()
2183 LocIdx ClobberedLoc = MTracker->getRegMLoc(*RAI); in transferRegisterCopy()
2189 ValueIDNum Value = MTracker->readReg(*RAI); in transferRegisterCopy()
2210 TTracker->transferMlocs(MTracker->getRegMLoc(SrcReg), in transferRegisterCopy()
2211 MTracker->getRegMLoc(DestReg), MI.getIterator()); in transferRegisterCopy()
2215 MTracker->defReg(SrcReg, CurBB, CurInst); in transferRegisterCopy()
2323 MTracker->reset(); in produceMLocTransferFunction()
2324 MTracker->setMPhis(CurBB); in produceMLocTransferFunction()
2355 for (auto Location : MTracker->locations()) { in produceMLocTransferFunction()
2370 for (auto &P : MTracker->Masks) { in produceMLocTransferFunction()
2377 for (auto Location : MTracker->locations()) { in produceMLocTransferFunction()
2378 unsigned ID = MTracker->LocIdxToLocID[Location.Idx]; in produceMLocTransferFunction()
2380 if (ID >= TRI->getNumRegs() || MTracker->SPAliases.count(ID)) in produceMLocTransferFunction()
2396 unsigned ID = MTracker->getLocID(Bit); in produceMLocTransferFunction()
2397 LocIdx Idx = MTracker->LocIDToLocIdx[ID]; in produceMLocTransferFunction()
2452 for (auto Location : MTracker->locations()) { in mlocJoin()
2512 auto It = MTracker->StackSlotIdxes.find({8, 0}); in findStackIndexInterference()
2513 assert(It != MTracker->StackSlotIdxes.end()); in findStackIndexInterference()
2517 for (auto &Pair : MTracker->StackSlotIdxes) { in findStackIndexInterference()
2541 for (auto Location : MTracker->locations()) { in placeMLocPHIs()
2543 if (MTracker->isSpill(L)) { in placeMLocPHIs()
2544 StackSlots.insert(MTracker->locIDToSpill(MTracker->LocIdxToLocID[L])); in placeMLocPHIs()
2548 Register R = MTracker->LocIdxToLocID[L]; in placeMLocPHIs()
2553 if (!MTracker->isRegisterTracked(*URoot)) { in placeMLocPHIs()
2613 unsigned SpillID = MTracker->getSpillIDWithIdx(Slot, Idx); in placeMLocPHIs()
2614 LocIdx L = MTracker->getSpillMLoc(SpillID); in placeMLocPHIs()
2620 std::tie(Size, Offset) = MTracker->StackIdxesToPos[Idx]; in placeMLocPHIs()
2621 for (auto &Pair : MTracker->StackSlotIdxes) { in placeMLocPHIs()
2627 unsigned ThisID = MTracker->getSpillIDWithIdx(Slot, Pair.second); in placeMLocPHIs()
2628 LocIdx ThisL = MTracker->getSpillMLoc(ThisID); in placeMLocPHIs()
2636 LocIdx L = MTracker->lookupOrTrackRegister(R); in placeMLocPHIs()
2646 if (!MTracker->isRegisterTracked(*RAI)) in placeMLocPHIs()
2649 LocIdx AliasLoc = MTracker->lookupOrTrackRegister(*RAI); in placeMLocPHIs()
2677 for (auto Location : MTracker->locations()) in buildMLocValueMap()
2681 MTracker->reset(); in buildMLocValueMap()
2717 MTracker->loadFromArray(MInLocs[*MBB], CurBB); in buildMLocValueMap()
2725 ValueIDNum NewID = MTracker->readMLoc(P.second.getLoc()); in buildMLocValueMap()
2737 MTracker->setMLoc(P.first, P.second); in buildMLocValueMap()
2743 for (auto Location : MTracker->locations()) { in buildMLocValueMap()
2748 MTracker->reset(); in buildMLocValueMap()
2885 unsigned NumLocs = MTracker->getNumLocs(); in pickOperandPHILoc()
3418 std::string foo = MTracker->LocIdxToName(P.first); in dump_mloc_transfer()
3419 std::string bar = MTracker->IDAsString(P.second); in dump_mloc_transfer()
3536 new TransferTracker(TII, MTracker, MF, DVMap, *TRI, CalleeSavedRegs, TPC); in depthFirstVLocAndEmit()
3537 unsigned NumLocs = MTracker->getNumLocs(); in depthFirstVLocAndEmit()
3559 MTracker->reset(); in depthFirstVLocAndEmit()
3560 MTracker->loadFromArray(MInLocs[MBB], BBNum); in depthFirstVLocAndEmit()
3704 MTracker = in ExtendRanges()
3730 unsigned NumLocs = MTracker->getNumLocs(); in ExtendRanges()
3769 MTracker->loadFromArray(MInLocs[*MBB], CurBB); in ExtendRanges()
3775 MTracker->reset(); in ExtendRanges()
3831 delete MTracker; in ExtendRanges()
3833 MTracker = nullptr; in ExtendRanges()