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

#include <OrcCBindingsStack.h>

Collaboration diagram for llvm::OrcCBindingsStack:
[legend]

Public Types

typedef
orc::JITCompileCallbackManager 
CompileCallbackMgr
 
typedef orc::ObjectLinkingLayer ObjLayerT
 
typedef orc::IRCompileLayer
< ObjLayerT
CompileLayerT
 
typedef
orc::CompileOnDemandLayer
< CompileLayerT,
CompileCallbackMgr
CODLayerT
 
typedef std::function
< std::unique_ptr
< CompileCallbackMgr >)> 
CallbackManagerBuilder
 
typedef
CODLayerT::IndirectStubsManagerBuilderT 
IndirectStubsManagerBuilder
 
typedef unsigned ModuleSetHandleT
 
typedef unsigned ModuleHandleT
 

Public Member Functions

 OrcCBindingsStack (TargetMachine &TM, std::unique_ptr< CompileCallbackMgr > CCMgr, IndirectStubsManagerBuilder IndirectStubsMgrBuilder)
 
*this std::move (IndirectStubsMgrBuilder)
 
*this CXXRuntimeOverrides ([this](const std::string &S){return mangle(S);})
 
 ~OrcCBindingsStack ()
 
std::string mangle (StringRef Name)
 
JITTargetAddress createLazyCompileCallback (LLVMOrcLazyCompileCallbackFn Callback, void *CallbackCtx)
 
LLVMOrcErrorCode createIndirectStub (StringRef StubName, JITTargetAddress Addr)
 
LLVMOrcErrorCode setIndirectStubPointer (StringRef Name, JITTargetAddress Addr)
 
std::unique_ptr
< JITSymbolResolver
createResolver (LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
template<typename LayerT >
ModuleHandleT addIRModule (LayerT &Layer, Module *M, std::unique_ptr< RuntimeDyld::MemoryManager > MemMgr, LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
ModuleHandleT addIRModuleEager (Module *M, LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
ModuleHandleT addIRModuleLazy (Module *M, LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
void removeModule (ModuleHandleT H)
 
JITSymbol findSymbol (const std::string &Name, bool ExportedSymbolsOnly)
 
JITSymbol findSymbolIn (ModuleHandleT H, const std::string &Name, bool ExportedSymbolsOnly)
 
const std::string & getErrorMessage () const
 

Static Public Member Functions

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

Public Attributes

*this CCMgr
 
*this false
 

Detailed Description

Definition at line 30 of file OrcCBindingsStack.h.

Member Typedef Documentation

Definition at line 39 of file OrcCBindingsStack.h.

Definition at line 36 of file OrcCBindingsStack.h.

Definition at line 32 of file OrcCBindingsStack.h.

Definition at line 34 of file OrcCBindingsStack.h.

Definition at line 41 of file OrcCBindingsStack.h.

Definition at line 80 of file OrcCBindingsStack.h.

Definition at line 78 of file OrcCBindingsStack.h.

Definition at line 33 of file OrcCBindingsStack.h.

Constructor & Destructor Documentation

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

Definition at line 82 of file OrcCBindingsStack.h.

llvm::OrcCBindingsStack::~OrcCBindingsStack ( )
inline

Definition at line 94 of file OrcCBindingsStack.h.

Member Function Documentation

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

Definition at line 204 of file OrcCBindingsStack.h.

Referenced by LLVMOrcAddEagerlyCompiledIR().

ModuleHandleT llvm::OrcCBindingsStack::addIRModuleLazy ( Module M,
LLVMOrcSymbolResolverFn  ExternalResolver,
void *  ExternalResolverCtx 
)
inline

Definition at line 212 of file OrcCBindingsStack.h.

Referenced by LLVMOrcAddLazilyCompiledIR().

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

Definition at line 126 of file OrcCBindingsStack.h.

References llvm::JITSymbolFlags::Exported.

Referenced by LLVMOrcCreateIndirectStub().

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

Definition at line 117 of file OrcCBindingsStack.h.

References llvm::wrap().

Referenced by LLVMOrcCreateLazyCompileCallback().

std::unique_ptr<JITSymbolResolver> llvm::OrcCBindingsStack::createResolver ( LLVMOrcSymbolResolverFn  ExternalResolver,
void *  ExternalResolverCtx 
)
inline
* this llvm::OrcCBindingsStack::CXXRuntimeOverrides ( [this] (const std::string &S){return mangle(S);}  )
inline

Definition at line 91 of file OrcCBindingsStack.h.

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

Definition at line 226 of file OrcCBindingsStack.h.

Referenced by LLVMOrcGetSymbolAddress().

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

Definition at line 232 of file OrcCBindingsStack.h.

References H.

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

Definition at line 112 of file OrcCBindingsStack.h.

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

Definition at line 237 of file OrcCBindingsStack.h.

Referenced by LLVMOrcGetErrorMsg().

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

Definition at line 102 of file OrcCBindingsStack.h.

References llvm::Mangler::getNameWithPrefix().

Referenced by LLVMOrcGetMangledSymbol().

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

Definition at line 220 of file OrcCBindingsStack.h.

References H.

Referenced by LLVMOrcRemoveModule().

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

Definition at line 132 of file OrcCBindingsStack.h.

Referenced by LLVMOrcSetIndirectStubPointer().

* this llvm::OrcCBindingsStack::std::move ( IndirectStubsMgrBuilder  )

Member Data Documentation

* this llvm::OrcCBindingsStack::CCMgr

Definition at line 89 of file OrcCBindingsStack.h.

* this llvm::OrcCBindingsStack::false

Definition at line 90 of file OrcCBindingsStack.h.


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