Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
Public Member Functions | Static Public 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< MemoryBuffer > compile (std::unique_ptr< LLVMContext > Ctx, std::unique_ptr< Module > M, HashT ModuleHash) override
 
std::unique_ptr< MemoryBuffer > lookupObjectModule (HashT) override
 
DispatchResult launch (StringRef, LaunchDims, LaunchDims, ArrayRef< void * >, uint64_t, void *, std::optional< MemoryBufferRef >) override
 
DispatchResult launch (void *, LaunchDims, LaunchDims, ArrayRef< void * >, uint64_t, void *) override
 
StringRef getTargetArch () const override
 
void * getFunctionAddress (StringRef FnName, std::optional< MemoryBufferRef >) override
 
- Public Member Functions inherited from proteus::Dispatcher
template<typename RetOrSig , typename... ArgT>
auto run (StringRef FuncName, std::optional< MemoryBufferRef > ObjectModule, ArgT &&...Args)
 

Static Public Member Functions

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

Additional Inherited Members

- Protected Attributes inherited from proteus::Dispatcher
TargetModelType TargetModel
 

Member Function Documentation

◆ compile()

std::unique_ptr< MemoryBuffer > proteus::DispatcherHost::compile ( std::unique_ptr< LLVMContext >  Ctx,
std::unique_ptr< Module >  M,
HashT  ModuleHash 
)
inlineoverridevirtual

Implements proteus::Dispatcher.

◆ getFunctionAddress()

void * proteus::DispatcherHost::getFunctionAddress ( StringRef  FnName,
std::optional< MemoryBufferRef >   
)
inlineoverridevirtual

Implements proteus::Dispatcher.

◆ getTargetArch()

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

Implements proteus::Dispatcher.

◆ instance()

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

◆ launch() [1/2]

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

Implements proteus::Dispatcher.

◆ launch() [2/2]

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

Implements proteus::Dispatcher.

◆ lookupObjectModule()

std::unique_ptr< MemoryBuffer > proteus::DispatcherHost::lookupObjectModule ( HashT  )
inlineoverridevirtual

Implements proteus::Dispatcher.


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