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.hpp>

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

Public Member Functions

std::unique_ptr< MemoryBuffercompile (std::unique_ptr< LLVMContext > Ctx, std::unique_ptr< Module > Mod, HashT ModuleHash, bool DisableIROpt=false) override
 
std::unique_ptr< CompiledLibrarylookupCompiledLibrary (HashT ModuleHash) override
 
DispatchResult launch (void *, LaunchDims, LaunchDims, ArrayRef< void * >, uint64_t, void *) override
 
StringRef getDeviceArch () const override
 
voidgetFunctionAddress (StringRef FnName, HashT ModuleHash, CompiledLibrary &Library) override
 
void registerDynamicLibrary (HashT HashValue, const SmallString< 128 > &Path) override
 
- Public Member Functions inherited from proteus::Dispatcher
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 ()
 

Additional Inherited Members

- Protected Attributes inherited from proteus::Dispatcher
TargetModelType TargetModel
 

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,
HashT  ModuleHash,
bool  DisableIROpt = false 
)
inlineoverridevirtual

Implements proteus::Dispatcher.

◆ getDeviceArch()

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

Implements proteus::Dispatcher.

◆ getFunctionAddress()

void * proteus::DispatcherHost::getFunctionAddress ( StringRef  FnName,
HashT  ModuleHash,
CompiledLibrary Library 
)
inlineoverridevirtual

Implements proteus::Dispatcher.

◆ instance()

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

◆ launch()

DispatchResult proteus::DispatcherHost::launch ( void ,
LaunchDims  ,
LaunchDims  ,
ArrayRef< void * >  ,
uint64_t  ,
void  
)
inlineoverridevirtual

Implements proteus::Dispatcher.

◆ lookupCompiledLibrary()

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

Implements proteus::Dispatcher.

◆ registerDynamicLibrary()

void proteus::DispatcherHost::registerDynamicLibrary ( HashT  HashValue,
const SmallString< 128 > &  Path 
)
inlineoverridevirtual

Implements proteus::Dispatcher.


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