LLVM  6.0.0svn
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::RTDyldObjectLinkingLayer
 
using CompileLayerT = orc::IRCompileLayer< ObjLayerT, orc::SimpleCompiler >
 
using CODLayerT = orc::CompileOnDemandLayer< CompileLayerT, CompileCallbackMgr >
 
using CallbackManagerBuilder = std::function< std::unique_ptr< CompileCallbackMgr >()>
 
using IndirectStubsManagerBuilder = CODLayerT::IndirectStubsManagerBuilderT
 
using ModuleHandleT = unsigned
 

Public Member Functions

 OrcCBindingsStack (TargetMachine &TM, std::unique_ptr< CompileCallbackMgr > CCMgr, IndirectStubsManagerBuilder IndirectStubsMgrBuilder)
 
LLVMOrcErrorCode shutdown ()
 
std::string mangle (StringRef Name)
 
LLVMOrcErrorCode createLazyCompileCallback (JITTargetAddress &RetAddr, LLVMOrcLazyCompileCallbackFn Callback, void *CallbackCtx)
 
LLVMOrcErrorCode createIndirectStub (StringRef StubName, JITTargetAddress Addr)
 
LLVMOrcErrorCode setIndirectStubPointer (StringRef Name, JITTargetAddress Addr)
 
std::shared_ptr< JITSymbolResolvercreateResolver (LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
template<typename LayerT >
LLVMOrcErrorCode addIRModule (ModuleHandleT &RetHandle, LayerT &Layer, std::shared_ptr< Module > M, std::unique_ptr< RuntimeDyld::MemoryManager > MemMgr, LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
LLVMOrcErrorCode addIRModuleEager (ModuleHandleT &RetHandle, std::shared_ptr< Module > M, LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
LLVMOrcErrorCode addIRModuleLazy (ModuleHandleT &RetHandle, std::shared_ptr< Module > M, LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
LLVMOrcErrorCode removeModule (ModuleHandleT H)
 
LLVMOrcErrorCode addObject (ModuleHandleT &RetHandle, std::unique_ptr< MemoryBuffer > ObjBuffer, LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
JITSymbol findSymbol (const std::string &Name, bool ExportedSymbolsOnly)
 
JITSymbol findSymbolIn (ModuleHandleT H, const std::string &Name, bool ExportedSymbolsOnly)
 
LLVMOrcErrorCode findSymbolAddress (JITTargetAddress &RetAddr, const std::string &Name, bool ExportedSymbolsOnly)
 
const std::string & getErrorMessage () const
 

Static Public Member Functions

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

Detailed Description

Definition at line 111 of file OrcCBindingsStack.h.

Member Typedef Documentation

◆ CallbackManagerBuilder

Definition at line 121 of file OrcCBindingsStack.h.

◆ CODLayerT

Definition at line 118 of file OrcCBindingsStack.h.

◆ CompileCallbackMgr

Definition at line 114 of file OrcCBindingsStack.h.

◆ CompileLayerT

Definition at line 116 of file OrcCBindingsStack.h.

◆ IndirectStubsManagerBuilder

Definition at line 123 of file OrcCBindingsStack.h.

◆ ModuleHandleT

Definition at line 130 of file OrcCBindingsStack.h.

◆ ObjLayerT

Definition at line 115 of file OrcCBindingsStack.h.

Constructor & Destructor Documentation

◆ OrcCBindingsStack()

llvm::OrcCBindingsStack::OrcCBindingsStack ( TargetMachine TM,
std::unique_ptr< CompileCallbackMgr CCMgr,
IndirectStubsManagerBuilder  IndirectStubsMgrBuilder 
)
inline

Definition at line 132 of file OrcCBindingsStack.h.

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

Member Function Documentation

◆ addIRModule()

template<typename LayerT >
LLVMOrcErrorCode llvm::OrcCBindingsStack::addIRModule ( ModuleHandleT RetHandle,
LayerT &  Layer,
std::shared_ptr< Module M,
std::unique_ptr< RuntimeDyld::MemoryManager MemMgr,
LLVMOrcSymbolResolverFn  ExternalResolver,
void *  ExternalResolverCtx 
)
inline

◆ addIRModuleEager()

LLVMOrcErrorCode llvm::OrcCBindingsStack::addIRModuleEager ( ModuleHandleT RetHandle,
std::shared_ptr< Module M,
LLVMOrcSymbolResolverFn  ExternalResolver,
void *  ExternalResolverCtx 
)
inline

Definition at line 272 of file OrcCBindingsStack.h.

Referenced by LLVMOrcAddEagerlyCompiledIR().

◆ addIRModuleLazy()

LLVMOrcErrorCode llvm::OrcCBindingsStack::addIRModuleLazy ( ModuleHandleT RetHandle,
std::shared_ptr< Module M,
LLVMOrcSymbolResolverFn  ExternalResolver,
void *  ExternalResolverCtx 
)
inline

Definition at line 281 of file OrcCBindingsStack.h.

Referenced by LLVMOrcAddLazilyCompiledIR().

◆ addObject()

LLVMOrcErrorCode llvm::OrcCBindingsStack::addObject ( ModuleHandleT RetHandle,
std::unique_ptr< MemoryBuffer ObjBuffer,
LLVMOrcSymbolResolverFn  ExternalResolver,
void *  ExternalResolverCtx 
)
inline

◆ createIndirectStub()

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

Definition at line 188 of file OrcCBindingsStack.h.

References llvm::JITSymbolFlags::Exported.

Referenced by LLVMOrcCreateIndirectStub().

◆ createLazyCompileCallback()

LLVMOrcErrorCode llvm::OrcCBindingsStack::createLazyCompileCallback ( JITTargetAddress RetAddr,
LLVMOrcLazyCompileCallbackFn  Callback,
void *  CallbackCtx 
)
inline

Definition at line 174 of file OrcCBindingsStack.h.

References LLVMOrcErrSuccess, and llvm::wrap().

Referenced by LLVMOrcCreateLazyCompileCallback().

◆ createResolver()

std::shared_ptr<JITSymbolResolver> llvm::OrcCBindingsStack::createResolver ( LLVMOrcSymbolResolverFn  ExternalResolver,
void *  ExternalResolverCtx 
)
inline

◆ findSymbol()

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

Definition at line 325 of file OrcCBindingsStack.h.

◆ findSymbolAddress()

LLVMOrcErrorCode llvm::OrcCBindingsStack::findSymbolAddress ( JITTargetAddress RetAddr,
const std::string &  Name,
bool  ExportedSymbolsOnly 
)
inline

Definition at line 337 of file OrcCBindingsStack.h.

References LLVMOrcErrSuccess.

Referenced by LLVMOrcGetSymbolAddress().

◆ findSymbolIn()

JITSymbol llvm::OrcCBindingsStack::findSymbolIn ( ModuleHandleT  H,
const std::string &  Name,
bool  ExportedSymbolsOnly 
)
inline

Definition at line 332 of file OrcCBindingsStack.h.

References H.

◆ fromTargetAddress()

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

Definition at line 168 of file OrcCBindingsStack.h.

◆ getErrorMessage()

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

◆ mangle()

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

Definition at line 158 of file OrcCBindingsStack.h.

References llvm::Mangler::getNameWithPrefix().

Referenced by LLVMOrcGetMangledSymbol().

◆ removeModule()

LLVMOrcErrorCode llvm::OrcCBindingsStack::removeModule ( ModuleHandleT  H)
inline

Definition at line 290 of file OrcCBindingsStack.h.

References H, and LLVMOrcErrSuccess.

Referenced by LLVMOrcRemoveModule().

◆ setIndirectStubPointer()

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

Definition at line 194 of file OrcCBindingsStack.h.

Referenced by LLVMOrcSetIndirectStubPointer().

◆ shutdown()

LLVMOrcErrorCode llvm::OrcCBindingsStack::shutdown ( )
inline

Definition at line 148 of file OrcCBindingsStack.h.

References LLVMOrcErrSuccess.


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