13#ifndef LLVM_EXECUTIONENGINE_ORC_DEBUGOBJECTMANAGERPLUGIN_H
14#define LLVM_EXECUTIONENGINE_ORC_DEBUGOBJECTMANAGERPLUGIN_H
52 std::unique_ptr<DebugObjectRegistrar>
Target);
70 std::unique_ptr<DebugObjectRegistrar>
Target,
71 bool RequireDebugSections,
bool AutoRegisterCode);
92 using OwnedDebugObject = std::unique_ptr<DebugObject>;
93 std::map<MaterializationResponsibility *, OwnedDebugObject> PendingObjs;
94 std::map<ResourceKey, std::vector<OwnedDebugObject>> RegisteredObjs;
96 std::mutex PendingObjsLock;
97 std::mutex RegisteredObjsLock;
99 std::unique_ptr<DebugObjectRegistrar>
Target;
100 bool RequireDebugSections;
101 bool AutoRegisterCode;
Lightweight error class with error context and mandatory checking.
Target - Wrapper for Target specific information.
Holds context for a single jitLink invocation.
Creates and manages DebugObjects for JITLink artifacts.
Error notifyRemovingResources(JITDylib &JD, ResourceKey K) override
void notifyTransferringResources(JITDylib &JD, ResourceKey DstKey, ResourceKey SrcKey) override
Error notifyFailed(MaterializationResponsibility &MR) override
Error notifyEmitted(MaterializationResponsibility &MR) override
~DebugObjectManagerPlugin()
void notifyMaterializing(MaterializationResponsibility &MR, jitlink::LinkGraph &G, jitlink::JITLinkContext &Ctx, MemoryBufferRef InputObject) override
void modifyPassConfig(MaterializationResponsibility &MR, jitlink::LinkGraph &LG, jitlink::PassConfiguration &PassConfig) override
An ExecutionSession represents a running JIT program.
Represents a JIT'd dynamic library.
Tracks responsibility for materialization, and mediates interactions between MaterializationUnits and...
This is an optimization pass for GlobalISel generic memory operations.
An LinkGraph pass configuration, consisting of a list of pre-prune, post-prune, and post-fixup passes...