LLVM  12.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 JITLinkSymbolVector = std::vector< const jitlink::Symbol * >
 
using LocalDependenciesMap = DenseMap< SymbolStringPtr, JITLinkSymbolVector >
 

Public Member Functions

virtual ~Plugin ()
 
virtual void modifyPassConfig (MaterializationResponsibility &MR, const Triple &TT, jitlink::PassConfiguration &Config)
 
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 LocalDependenciesMap getSyntheticSymbolLocalDependencies (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 62 of file ObjectLinkingLayer.h.

Member Typedef Documentation

◆ JITLinkSymbolVector

Definition at line 64 of file ObjectLinkingLayer.h.

◆ LocalDependenciesMap

Definition at line 65 of file ObjectLinkingLayer.h.

Constructor & Destructor Documentation

◆ ~Plugin()

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

Definition at line 440 of file ObjectLinkingLayer.cpp.

Member Function Documentation

◆ getSyntheticSymbolLocalDependencies()

virtual LocalDependenciesMap llvm::orc::ObjectLinkingLayer::Plugin::getSyntheticSymbolLocalDependencies ( MaterializationResponsibility MR)
inlinevirtual

Return any dependencies that synthetic symbols (e.g.

init symbols) have on locally scoped jitlink::Symbols. This is used by the ObjectLinkingLayer to update the dependencies for the synthetic symbols.

Definition at line 86 of file ObjectLinkingLayer.h.

◆ modifyPassConfig()

virtual void llvm::orc::ObjectLinkingLayer::Plugin::modifyPassConfig ( MaterializationResponsibility MR,
const Triple TT,
jitlink::PassConfiguration Config 
)
inlinevirtual

Reimplemented in llvm::orc::EHFrameRegistrationPlugin.

Definition at line 68 of file ObjectLinkingLayer.h.

◆ notifyEmitted()

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

Reimplemented in llvm::orc::EHFrameRegistrationPlugin.

Definition at line 73 of file ObjectLinkingLayer.h.

References llvm::Error::success().

◆ 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 72 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: