LLVM  8.0.0svn
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::OrcCBindingsStack Class Reference

#include "ExecutionEngine/Orc/OrcCBindingsStack.h"

Public Types

using CompileCallbackMgr = orc::JITCompileCallbackManager
 
using ObjLayerT = orc::LegacyRTDyldObjectLinkingLayer
 
using CompileLayerT = orc::LegacyIRCompileLayer< ObjLayerT, orc::SimpleCompiler >
 
using CODLayerT = orc::LegacyCompileOnDemandLayer< CompileLayerT, CompileCallbackMgr >
 
using CallbackManagerBuilder = std::function< std::unique_ptr< CompileCallbackMgr >()>
 
using IndirectStubsManagerBuilder = CODLayerT::IndirectStubsManagerBuilderT
 

Public Member Functions

 OrcCBindingsStack (TargetMachine &TM, IndirectStubsManagerBuilder IndirectStubsMgrBuilder)
 
Error shutdown ()
 
std::string mangle (StringRef Name)
 
Expected< JITTargetAddresscreateLazyCompileCallback (LLVMOrcLazyCompileCallbackFn Callback, void *CallbackCtx)
 
Error createIndirectStub (StringRef StubName, JITTargetAddress Addr)
 
Error setIndirectStubPointer (StringRef Name, JITTargetAddress Addr)
 
template<typename LayerT >
Expected< orc::VModuleKeyaddIRModule (LayerT &Layer, std::unique_ptr< Module > M, std::unique_ptr< RuntimeDyld::MemoryManager > MemMgr, LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
Expected< orc::VModuleKeyaddIRModuleEager (std::unique_ptr< Module > M, LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
Expected< orc::VModuleKeyaddIRModuleLazy (std::unique_ptr< Module > M, LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
Error removeModule (orc::VModuleKey K)
 
Expected< orc::VModuleKeyaddObject (std::unique_ptr< MemoryBuffer > ObjBuffer, LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
JITSymbol findSymbol (const std::string &Name, bool ExportedSymbolsOnly)
 
JITSymbol findSymbolIn (orc::VModuleKey K, const std::string &Name, bool ExportedSymbolsOnly)
 
Expected< JITTargetAddressfindSymbolAddress (const std::string &Name, bool ExportedSymbolsOnly)
 
Expected< JITTargetAddressfindSymbolAddressIn (orc::VModuleKey K, const std::string &Name, bool ExportedSymbolsOnly)
 
const std::string & getErrorMessage () const
 
void RegisterJITEventListener (JITEventListener *L)
 
void UnregisterJITEventListener (JITEventListener *L)
 

Static Public Member Functions

template<typename PtrTy >
static PtrTy fromTargetAddress (JITTargetAddress Addr)
 

Detailed Description

Definition at line 106 of file OrcCBindingsStack.h.

Member Typedef Documentation

◆ CallbackManagerBuilder

Definition at line 116 of file OrcCBindingsStack.h.

◆ CODLayerT

Definition at line 113 of file OrcCBindingsStack.h.

◆ CompileCallbackMgr

Definition at line 109 of file OrcCBindingsStack.h.

◆ CompileLayerT

Definition at line 111 of file OrcCBindingsStack.h.

◆ IndirectStubsManagerBuilder

Definition at line 118 of file OrcCBindingsStack.h.

◆ ObjLayerT

Definition at line 110 of file OrcCBindingsStack.h.

Constructor & Destructor Documentation

◆ OrcCBindingsStack()

llvm::OrcCBindingsStack::OrcCBindingsStack ( TargetMachine TM,
IndirectStubsManagerBuilder  IndirectStubsMgrBuilder 
)
inline

Definition at line 214 of file OrcCBindingsStack.h.

References assert(), and llvm::SystemZISD::TM.

Member Function Documentation

◆ addIRModule()

template<typename LayerT >
Expected<orc::VModuleKey> llvm::OrcCBindingsStack::addIRModule ( LayerT &  Layer,
std::unique_ptr< Module M,
std::unique_ptr< RuntimeDyld::MemoryManager MemMgr,
LLVMOrcSymbolResolverFn  ExternalResolver,
void *  ExternalResolverCtx 
)
inline

◆ addIRModuleEager()

Expected<orc::VModuleKey> llvm::OrcCBindingsStack::addIRModuleEager ( std::unique_ptr< Module M,
LLVMOrcSymbolResolverFn  ExternalResolver,
void *  ExternalResolverCtx 
)
inline

Definition at line 325 of file OrcCBindingsStack.h.

Referenced by LLVMOrcAddEagerlyCompiledIR().

◆ addIRModuleLazy()

Expected<orc::VModuleKey> llvm::OrcCBindingsStack::addIRModuleLazy ( std::unique_ptr< Module M,
LLVMOrcSymbolResolverFn  ExternalResolver,
void *  ExternalResolverCtx 
)
inline

Definition at line 334 of file OrcCBindingsStack.h.

References llvm::inconvertibleErrorCode().

Referenced by LLVMOrcAddLazilyCompiledIR().

◆ addObject()

Expected<orc::VModuleKey> llvm::OrcCBindingsStack::addObject ( std::unique_ptr< MemoryBuffer ObjBuffer,
LLVMOrcSymbolResolverFn  ExternalResolver,
void *  ExternalResolverCtx 
)
inline

Definition at line 356 of file OrcCBindingsStack.h.

References llvm::object::ObjectFile::createObjectFile().

Referenced by LLVMOrcAddObjectFile().

◆ createIndirectStub()

Error llvm::OrcCBindingsStack::createIndirectStub ( StringRef  StubName,
JITTargetAddress  Addr 
)
inline

Definition at line 276 of file OrcCBindingsStack.h.

References llvm::JITSymbolFlags::Exported.

Referenced by LLVMOrcCreateIndirectStub().

◆ createLazyCompileCallback()

Expected<JITTargetAddress> llvm::OrcCBindingsStack::createLazyCompileCallback ( LLVMOrcLazyCompileCallbackFn  Callback,
void *  CallbackCtx 
)
inline

Definition at line 267 of file OrcCBindingsStack.h.

References llvm::wrap().

Referenced by LLVMOrcCreateLazyCompileCallback().

◆ findSymbol()

JITSymbol llvm::OrcCBindingsStack::findSymbol ( const std::string &  Name,
bool  ExportedSymbolsOnly 
)
inline

Definition at line 376 of file OrcCBindingsStack.h.

◆ findSymbolAddress()

Expected<JITTargetAddress> llvm::OrcCBindingsStack::findSymbolAddress ( const std::string &  Name,
bool  ExportedSymbolsOnly 
)
inline

Definition at line 391 of file OrcCBindingsStack.h.

Referenced by LLVMOrcGetSymbolAddress().

◆ findSymbolAddressIn()

Expected<JITTargetAddress> llvm::OrcCBindingsStack::findSymbolAddressIn ( orc::VModuleKey  K,
const std::string &  Name,
bool  ExportedSymbolsOnly 
)
inline

◆ findSymbolIn()

JITSymbol llvm::OrcCBindingsStack::findSymbolIn ( orc::VModuleKey  K,
const std::string &  Name,
bool  ExportedSymbolsOnly 
)
inline

Definition at line 385 of file OrcCBindingsStack.h.

References assert().

◆ fromTargetAddress()

template<typename PtrTy >
static PtrTy llvm::OrcCBindingsStack::fromTargetAddress ( JITTargetAddress  Addr)
inlinestatic

Definition at line 262 of file OrcCBindingsStack.h.

◆ getErrorMessage()

const std::string& llvm::OrcCBindingsStack::getErrorMessage ( ) const
inline

Definition at line 426 of file OrcCBindingsStack.h.

Referenced by LLVMOrcGetErrorMsg().

◆ mangle()

std::string llvm::OrcCBindingsStack::mangle ( StringRef  Name)
inline

Definition at line 252 of file OrcCBindingsStack.h.

References llvm::Mangler::getNameWithPrefix().

Referenced by LLVMOrcGetMangledSymbol().

◆ RegisterJITEventListener()

void llvm::OrcCBindingsStack::RegisterJITEventListener ( JITEventListener L)
inline

Definition at line 428 of file OrcCBindingsStack.h.

◆ removeModule()

Error llvm::OrcCBindingsStack::removeModule ( orc::VModuleKey  K)
inline

Definition at line 347 of file OrcCBindingsStack.h.

Referenced by LLVMOrcRemoveModule().

◆ setIndirectStubPointer()

Error llvm::OrcCBindingsStack::setIndirectStubPointer ( StringRef  Name,
JITTargetAddress  Addr 
)
inline

Definition at line 281 of file OrcCBindingsStack.h.

Referenced by LLVMOrcSetIndirectStubPointer().

◆ shutdown()

Error llvm::OrcCBindingsStack::shutdown ( )
inline

Definition at line 242 of file OrcCBindingsStack.h.

◆ UnregisterJITEventListener()

void llvm::OrcCBindingsStack::UnregisterJITEventListener ( JITEventListener L)
inline

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