Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
proteus::DispatcherHost Class Reference

#include <DispatcherHost.h>

Inheritance diagram for proteus::DispatcherHost:
Inheritance graph
[legend]
Collaboration diagram for proteus::DispatcherHost:
Collaboration graph
[legend]

Public Member Functions

std::unique_ptr< MemoryBuffer > compile (std::unique_ptr< LLVMContext > Ctx, std::unique_ptr< Module > Mod, const HashT &ModuleHash, bool DisableIROpt=false) override
 
std::unique_ptr< CompiledLibrarylookupCompiledLibrary (const HashT &ModuleHash) override
 
DispatchResult launch (void *, LaunchDims, LaunchDims, void *[], uint64_t, void *) override
 
StringRef getDeviceArch () const override
 
void * getFunctionAddress (const std::string &FnName, const HashT &ModuleHash, CompiledLibrary &Library) override
 
void registerDynamicLibrary (const HashT &HashValue, const std::string &Path) override
 
- Public Member Functions inherited from proteus::Dispatcher
virtual ~Dispatcher ()=default
 
virtual std::unique_ptr< llvm::MemoryBuffer > compile (std::unique_ptr< llvm::LLVMContext > Ctx, std::unique_ptr< llvm::Module > M, const HashT &ModuleHash, bool DisableIROpt=false)=0
 
template<typename Sig , typename... ArgT>
sig_traits< Sig >::return_type run (void *FuncPtr, ArgT &&...Args)
 

Static Public Member Functions

static DispatcherHostinstance ()
 
- Static Public Member Functions inherited from proteus::Dispatcher
static DispatchergetDispatcher (TargetModelType TargetModel)
 

Protected Member Functions

 DispatcherHost ()
 
 ~DispatcherHost ()
 
- Protected Member Functions inherited from proteus::Dispatcher
 Dispatcher (const std::string &Name, TargetModelType TM)
 

Additional Inherited Members

- Protected Attributes inherited from proteus::Dispatcher
TargetModelType TargetModel
 
std::unique_ptr< ObjectCacheChainObjectCache
 

Constructor & Destructor Documentation

◆ DispatcherHost()

proteus::DispatcherHost::DispatcherHost ( )
inlineprotected

◆ ~DispatcherHost()

proteus::DispatcherHost::~DispatcherHost ( )
inlineprotected

Member Function Documentation

◆ compile()

std::unique_ptr< MemoryBuffer > proteus::DispatcherHost::compile ( std::unique_ptr< LLVMContext >  Ctx,
std::unique_ptr< Module >  Mod,
const HashT ModuleHash,
bool  DisableIROpt = false 
)
inlineoverride

◆ getDeviceArch()

StringRef proteus::DispatcherHost::getDeviceArch ( ) const
inlineoverridevirtual

Implements proteus::Dispatcher.

◆ getFunctionAddress()

void * proteus::DispatcherHost::getFunctionAddress ( const std::string &  FnName,
const HashT ModuleHash,
CompiledLibrary Library 
)
inlineoverridevirtual

Implements proteus::Dispatcher.

◆ instance()

static DispatcherHost & proteus::DispatcherHost::instance ( )
inlinestatic

◆ launch()

DispatchResult proteus::DispatcherHost::launch ( void *  ,
LaunchDims  ,
LaunchDims  ,
void *  [],
uint64_t  ,
void *   
)
inlineoverridevirtual

Implements proteus::Dispatcher.

◆ lookupCompiledLibrary()

std::unique_ptr< CompiledLibrary > proteus::DispatcherHost::lookupCompiledLibrary ( const HashT ModuleHash)
inlineoverridevirtual

Implements proteus::Dispatcher.

◆ registerDynamicLibrary()

void proteus::DispatcherHost::registerDynamicLibrary ( const HashT HashValue,
const std::string &  Path 
)
inlineoverridevirtual

Implements proteus::Dispatcher.


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