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

#include <CppJitModule.hpp>

Public Member Functions

 CppJitModule (TargetModelType TargetModel, StringRef Code)
 
 CppJitModule (StringRef Target, StringRef Code)
 
void compile ()
 
std::optional< MemoryBufferRef > getObjectModuleRef () const
 
template<typename RetOrSig , typename... ArgT>
auto run (const char *FuncName, ArgT &&...Args)
 
template<typename... ArgT>
auto launch (StringRef KernelName, LaunchDims GridDim, LaunchDims BlockDim, uint64_t ShmemSize, void *Stream, ArgT... Args)
 
template<typename... ArgT>
auto instantiate (StringRef FuncName, ArgT... Args)
 

Protected Member Functions

CompilationResult compileCppToIR ()
 

Constructor & Destructor Documentation

◆ CppJitModule() [1/2]

proteus::CppJitModule::CppJitModule ( TargetModelType  TargetModel,
StringRef  Code 
)
explicit

◆ CppJitModule() [2/2]

proteus::CppJitModule::CppJitModule ( StringRef  Target,
StringRef  Code 
)
explicit

Member Function Documentation

◆ compile()

void proteus::CppJitModule::compile ( )

◆ compileCppToIR()

CppJitModule::CompilationResult proteus::CppJitModule::compileCppToIR ( )
protected

◆ getObjectModuleRef()

std::optional< MemoryBufferRef > proteus::CppJitModule::getObjectModuleRef ( ) const
inline

◆ instantiate()

template<typename... ArgT>
auto proteus::CppJitModule::instantiate ( StringRef  FuncName,
ArgT...  Args 
)
inline

◆ launch()

template<typename... ArgT>
auto proteus::CppJitModule::launch ( StringRef  KernelName,
LaunchDims  GridDim,
LaunchDims  BlockDim,
uint64_t  ShmemSize,
void *  Stream,
ArgT...  Args 
)
inline

◆ run()

template<typename RetOrSig , typename... ArgT>
auto proteus::CppJitModule::run ( const char *  FuncName,
ArgT &&...  Args 
)
inline

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