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

Public Member Functions

 OrcCBindingsStack (TargetMachine &TM, 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)
 
template<typename LayerT >
LLVMOrcErrorCode addIRModule (orc::VModuleKey &RetKey, LayerT &Layer, std::unique_ptr< Module > M, std::unique_ptr< RuntimeDyld::MemoryManager > MemMgr, LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
LLVMOrcErrorCode addIRModuleEager (orc::VModuleKey &RetKey, std::unique_ptr< Module > M, LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
LLVMOrcErrorCode addIRModuleLazy (orc::VModuleKey &RetKey, std::unique_ptr< Module > M, LLVMOrcSymbolResolverFn ExternalResolver, void *ExternalResolverCtx)
 
LLVMOrcErrorCode removeModule (orc::VModuleKey K)
 
LLVMOrcErrorCode addObject (orc::VModuleKey &RetKey, 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)
 
LLVMOrcErrorCode findSymbolAddress (JITTargetAddress &RetAddr, const std::string &Name, bool ExportedSymbolsOnly)
 
LLVMOrcErrorCode findSymbolAddressIn (JITTargetAddress &RetAddr, 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 206 of file OrcCBindingsStack.h.

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

Member Function Documentation

◆ addIRModule()

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

◆ addIRModuleEager()

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

Definition at line 336 of file OrcCBindingsStack.h.

Referenced by LLVMOrcAddEagerlyCompiledIR().

◆ addIRModuleLazy()

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

Definition at line 345 of file OrcCBindingsStack.h.

Referenced by LLVMOrcAddLazilyCompiledIR().

◆ addObject()

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

Definition at line 363 of file OrcCBindingsStack.h.

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

Referenced by LLVMOrcAddObjectFile().

◆ createIndirectStub()

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

Definition at line 286 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 272 of file OrcCBindingsStack.h.

References LLVMOrcErrSuccess, and llvm::wrap().

Referenced by LLVMOrcCreateLazyCompileCallback().

◆ findSymbol()

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

Definition at line 384 of file OrcCBindingsStack.h.

◆ findSymbolAddress()

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

Definition at line 397 of file OrcCBindingsStack.h.

References LLVMOrcErrSuccess.

Referenced by LLVMOrcGetSymbolAddress().

◆ findSymbolAddressIn()

LLVMOrcErrorCode llvm::OrcCBindingsStack::findSymbolAddressIn ( JITTargetAddress RetAddr,
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 391 of file OrcCBindingsStack.h.

References assert().

◆ fromTargetAddress()

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

Definition at line 266 of file OrcCBindingsStack.h.

◆ getErrorMessage()

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

Definition at line 438 of file OrcCBindingsStack.h.

Referenced by LLVMOrcGetErrorMsg().

◆ mangle()

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

Definition at line 256 of file OrcCBindingsStack.h.

References llvm::Mangler::getNameWithPrefix().

Referenced by LLVMOrcGetMangledSymbol().

◆ RegisterJITEventListener()

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

Definition at line 440 of file OrcCBindingsStack.h.

◆ removeModule()

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

Definition at line 354 of file OrcCBindingsStack.h.

Referenced by LLVMOrcRemoveModule().

◆ setIndirectStubPointer()

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

Definition at line 292 of file OrcCBindingsStack.h.

Referenced by LLVMOrcSetIndirectStubPointer().

◆ shutdown()

LLVMOrcErrorCode llvm::OrcCBindingsStack::shutdown ( )
inline

Definition at line 246 of file OrcCBindingsStack.h.

◆ UnregisterJITEventListener()

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

Definition at line 446 of file OrcCBindingsStack.h.

References llvm::find(), I, llvm::reverse(), and std::swap().


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