LLVM  14.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 (ResourceKey K)=0
 
virtual void notifyTransferringResources (ResourceKey DstKey, ResourceKey SrcKey)=0
 
virtual SyntheticSymbolDependenciesMap getSyntheticSymbolDependencies (MaterializationResponsibility &MR)
 Return any dependencies that synthetic symbols (e.g. More...
 

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 64 of file ObjectLinkingLayer.h.

Member Typedef Documentation

◆ JITLinkSymbolSet

Definition at line 66 of file ObjectLinkingLayer.h.

◆ SyntheticSymbolDependenciesMap

Definition at line 68 of file ObjectLinkingLayer.h.

Constructor & Destructor Documentation

◆ ~Plugin()

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

Definition at line 613 of file ObjectLinkingLayer.cpp.

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 96 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 82 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 77 of file ObjectLinkingLayer.h.

◆ notifyRemovingResources()

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

◆ notifyTransferringResources()

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

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