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

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 notifyRemovingModule (VModuleKey K)
 
virtual Error notifyRemovingAllModules ()
 
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 61 of file ObjectLinkingLayer.h.

Member Typedef Documentation

◆ JITLinkSymbolVector

Definition at line 63 of file ObjectLinkingLayer.h.

◆ LocalDependenciesMap

Definition at line 64 of file ObjectLinkingLayer.h.

Constructor & Destructor Documentation

◆ ~Plugin()

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

Definition at line 448 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 85 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 67 of file ObjectLinkingLayer.h.

◆ notifyEmitted()

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

Reimplemented in llvm::orc::EHFrameRegistrationPlugin.

Definition at line 72 of file ObjectLinkingLayer.h.

References llvm::Error::success().

◆ notifyLoaded()

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

Definition at line 71 of file ObjectLinkingLayer.h.

◆ notifyRemovingAllModules()

virtual Error llvm::orc::ObjectLinkingLayer::Plugin::notifyRemovingAllModules ( )
inlinevirtual

Reimplemented in llvm::orc::EHFrameRegistrationPlugin.

Definition at line 78 of file ObjectLinkingLayer.h.

References llvm::Error::success().

◆ notifyRemovingModule()

virtual Error llvm::orc::ObjectLinkingLayer::Plugin::notifyRemovingModule ( VModuleKey  K)
inlinevirtual

Reimplemented in llvm::orc::EHFrameRegistrationPlugin.

Definition at line 75 of file ObjectLinkingLayer.h.

References llvm::Error::success().


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