Lines Matching defs:MR
875 Error JITDylib::resolve(MaterializationResponsibility &MR,
880 if (MR.RT->isDefunct())
881 return make_error<ResourceTrackerDefunct>(MR.RT);
982 MaterializationResponsibility &MR) {
984 auto I = TrackerMRs.find(MR.RT.get());
986 assert(I->second.count(&MR) && "MR not in TrackerMRs list for RT");
987 I->second.erase(&MR);
989 TrackerMRs.erase(MR.RT.get());
1337 for (auto *MR : SrcMRs)
1338 MR->RT = &DstRT;
1342 for (auto *MR : SrcMRs)
1343 DstMRs.insert(MR);
1581 if (MR)
1582 MR->failMaterialization();
1587 << MR->getTargetJITDylib().getName();
1592 assert(MR && "MR should not be null");
1593 MU->materialize(std::move(MR));
2758 auto MR = createMaterializationResponsibility(
2762 std::make_pair(std::move(UMI->MU), std::move(MR)));
2874 MaterializationResponsibility &MR) {
2876 assert(MR.SymbolFlags.empty() &&
2878 MR.JD.unlinkMaterializationResponsibility(MR);
2882 const MaterializationResponsibility &MR) {
2883 return MR.JD.getRequestedSymbols(MR.SymbolFlags);
2886 Error ExecutionSession::OL_notifyResolved(MaterializationResponsibility &MR,
2889 dbgs() << "In " << MR.JD.getName() << " resolving " << Symbols << "\n";
2893 auto I = MR.SymbolFlags.find(KV.first);
2894 assert(I != MR.SymbolFlags.end() &&
2911 return MR.JD.resolve(MR, Symbols);
2967 MaterializationResponsibility &MR,
2970 auto &TargetJD = MR.getTargetJITDylib();
2991 assert(MR.getSymbols().count(Symbol) &&
2993 auto NewlyEmittedItr = MR.getSymbols().find(Symbol);
3002 for (auto &[Sym, Flags] : MR.getSymbols()) {
3023 assert(EDUForSymbol.size() == MR.getSymbols().size() &&
3024 "MR symbols not fully covered by EDUs?");
3025 for (auto &[Sym, Flags] : MR.getSymbols()) {
3027 "Sym in MR not covered by EDU");
3064 if (!MR.getSymbols().count(Dep))
3265 ExecutionSession::IL_emit(MaterializationResponsibility &MR,
3268 if (MR.RT->isDefunct())
3269 return make_error<ResourceTrackerDefunct>(MR.RT);
3271 auto &TargetJD = MR.getTargetJITDylib();
3351 if (!MR.getSymbols().count(SymbolStringPtr(DepDep)))
3442 MaterializationResponsibility &MR,
3445 dbgs() << "In " << MR.JD.getName() << " emitting " << MR.SymbolFlags
3460 assert(MR.SymbolFlags.count(Sym) &&
3461 "DG contains dependence for symbol outside this MR");
3468 auto EDUInfos = simplifyDepGroups(MR, DepGroups);
3488 runSessionLocked([&]() { return IL_emit(MR, EDUInfos); });
3494 MR.SymbolFlags.clear();
3506 MaterializationResponsibility &MR, SymbolFlagsMap NewSymbolFlags) {
3509 dbgs() << "In " << MR.JD.getName() << " defining materializing symbols "
3513 MR.JD.defineMaterializing(MR, std::move(NewSymbolFlags))) {
3516 MR.SymbolFlags.insert(KV);
3692 void ExecutionSession::OL_notifyFailed(MaterializationResponsibility &MR) {
3695 dbgs() << "In " << MR.JD.getName() << " failing materialization for "
3696 << MR.SymbolFlags << "\n";
3699 if (MR.SymbolFlags.empty())
3703 for (auto &[Name, Flags] : MR.SymbolFlags)
3705 MR.SymbolFlags.clear();
3712 if (MR.RT->isDefunct())
3715 return IL_failSymbols(MR.getTargetJITDylib(), SymbolsToFail);
3723 Error ExecutionSession::OL_replace(MaterializationResponsibility &MR,
3726 assert(MR.SymbolFlags.count(KV.first) &&
3728 MR.SymbolFlags.erase(KV.first);
3731 if (MU->getInitializerSymbol() == MR.InitSymbol)
3732 MR.InitSymbol = nullptr;
3734 LLVM_DEBUG(MR.JD.getExecutionSession().runSessionLocked([&]() {
3735 dbgs() << "In " << MR.JD.getName() << " replacing symbols with " << *MU
3739 return MR.JD.replace(MR, std::move(MU));
3743 ExecutionSession::OL_delegate(MaterializationResponsibility &MR,
3750 auto I = MR.SymbolFlags.find(Name);
3751 assert(I != MR.SymbolFlags.end() &&
3756 if (Name == MR.InitSymbol)
3757 std::swap(MR.InitSymbol, DelegatedInitSymbol);
3759 MR.SymbolFlags.erase(I);
3762 return MR.JD.delegate(MR, std::move(DelegatedFlags),