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>

Classes

struct  FunctionHandle
 
struct  FunctionHandle< RetT(ArgT...)>
 
struct  KernelHandle
 
struct  KernelHandle< RetT(ArgT...)>
 

Public Member Functions

 CppJitModule (TargetModelType TargetModel, StringRef Code, const std::vector< std::string > &ExtraArgs={})
 
 CppJitModule (StringRef Target, StringRef Code, const std::vector< std::string > &ExtraArgs={})
 
void compile ()
 
CompiledLibrarygetLibrary ()
 
template<typename... ArgT>
auto instantiate (StringRef FuncName, ArgT... Args)
 
template<typename Sig >
FunctionHandle< SiggetFunction (StringRef Name)
 
template<typename Sig >
KernelHandle< SiggetKernel (StringRef Name)
 

Protected Member Functions

CompilationResult compileCppToIR ()
 
void compileCppToDynamicLibrary ()
 

Constructor & Destructor Documentation

◆ CppJitModule() [1/2]

proteus::CppJitModule::CppJitModule ( TargetModelType  TargetModel,
StringRef  Code,
const std::vector< std::string > &  ExtraArgs = {} 
)
explicit

◆ CppJitModule() [2/2]

proteus::CppJitModule::CppJitModule ( StringRef  Target,
StringRef  Code,
const std::vector< std::string > &  ExtraArgs = {} 
)
explicit

Member Function Documentation

◆ compile()

void proteus::CppJitModule::compile ( )

◆ compileCppToDynamicLibrary()

void proteus::CppJitModule::compileCppToDynamicLibrary ( )
protected

◆ compileCppToIR()

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

◆ getFunction()

template<typename Sig >
FunctionHandle< Sig > proteus::CppJitModule::getFunction ( StringRef  Name)
inline

◆ getKernel()

template<typename Sig >
KernelHandle< Sig > proteus::CppJitModule::getKernel ( StringRef  Name)
inline

◆ getLibrary()

CompiledLibrary & proteus::CppJitModule::getLibrary ( )
inline

◆ instantiate()

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

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