LLVM 19.0.0git
Public Types | Public Member Functions | List of all members
llvm::orc::ObjectLinkingLayer::Plugin Class Referenceabstract

Plugin instances can be added to the ObjectLinkingLayer to receive callbacks when code is loaded or emitted, and when JITLink is being configured. More...

#include "llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h"

Inheritance diagram for llvm::orc::ObjectLinkingLayer::Plugin:
Inheritance graph
[legend]

Public Types

using JITLinkSymbolSet = DenseSet< jitlink::Symbol * >
 
using SyntheticSymbolDependenciesMap = DenseMap< SymbolStringPtr, JITLinkSymbolSet >
 

Public Member Functions

virtual ~Plugin ()
 
virtual void modifyPassConfig (MaterializationResponsibility &MR, jitlink::LinkGraph &G, jitlink::PassConfiguration &Config)
 
virtual void notifyMaterializing (MaterializationResponsibility &MR, jitlink::LinkGraph &G, jitlink::JITLinkContext &Ctx, MemoryBufferRef InputObject)
 
virtual void notifyLoaded (MaterializationResponsibility &MR)
 
virtual Error notifyEmitted (MaterializationResponsibility &MR)
 
virtual Error notifyFailed (MaterializationResponsibility &MR)=0
 
virtual Error notifyRemovingResources (JITDylib &JD, ResourceKey K)=0
 
virtual void notifyTransferringResources (JITDylib &JD, ResourceKey DstKey, ResourceKey SrcKey)=0
 
virtual SyntheticSymbolDependenciesMap getSyntheticSymbolDependencies (MaterializationResponsibility &MR)
 Return any dependencies that synthetic symbols (e.g.
 

Detailed Description

Plugin instances can be added to the ObjectLinkingLayer to receive callbacks when code is loaded or emitted, and when JITLink is being configured.

Definition at line 59 of file ObjectLinkingLayer.h.

Member Typedef Documentation

◆ JITLinkSymbolSet

Definition at line 61 of file ObjectLinkingLayer.h.

◆ SyntheticSymbolDependenciesMap

Definition at line 62 of file ObjectLinkingLayer.h.

Constructor & Destructor Documentation

◆ ~Plugin()

llvm::orc::ObjectLinkingLayer::Plugin::~Plugin ( )
virtualdefault

Member Function Documentation

◆ getSyntheticSymbolDependencies()

virtual SyntheticSymbolDependenciesMap llvm::orc::ObjectLinkingLayer::Plugin::getSyntheticSymbolDependencies ( MaterializationResponsibility MR)
inlinevirtual

Return any dependencies that synthetic symbols (e.g.

init symbols) have on symbols in the LinkGraph. This is used by the ObjectLinkingLayer to update the dependencies for the synthetic symbols.

Definition at line 91 of file ObjectLinkingLayer.h.

◆ modifyPassConfig()

virtual void llvm::orc::ObjectLinkingLayer::Plugin::modifyPassConfig ( MaterializationResponsibility MR,
jitlink::LinkGraph G,
jitlink::PassConfiguration Config 
)
inlinevirtual

◆ notifyEmitted()

virtual Error llvm::orc::ObjectLinkingLayer::Plugin::notifyEmitted ( MaterializationResponsibility MR)
inlinevirtual

◆ notifyFailed()

virtual Error llvm::orc::ObjectLinkingLayer::Plugin::notifyFailed ( MaterializationResponsibility MR)
pure virtual

◆ notifyLoaded()

virtual void llvm::orc::ObjectLinkingLayer::Plugin::notifyLoaded ( MaterializationResponsibility MR)
inlinevirtual

Definition at line 77 of file ObjectLinkingLayer.h.

◆ notifyMaterializing()

virtual void llvm::orc::ObjectLinkingLayer::Plugin::notifyMaterializing ( MaterializationResponsibility MR,
jitlink::LinkGraph G,
jitlink::JITLinkContext Ctx,
MemoryBufferRef  InputObject 
)
inlinevirtual

Reimplemented in llvm::orc::DebugObjectManagerPlugin.

Definition at line 72 of file ObjectLinkingLayer.h.

◆ notifyRemovingResources()

virtual Error llvm::orc::ObjectLinkingLayer::Plugin::notifyRemovingResources ( JITDylib JD,
ResourceKey  K 
)
pure virtual

◆ notifyTransferringResources()

virtual void llvm::orc::ObjectLinkingLayer::Plugin::notifyTransferringResources ( JITDylib JD,
ResourceKey  DstKey,
ResourceKey  SrcKey 
)
pure virtual

The documentation for this class was generated from the following files: