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

#include <JitEngineHost.hpp>

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

Public Member Functions

 ~JitEngineHost ()
 
Expected< orc::ThreadSafeModule > specializeIR (std::unique_ptr< Module > M, std::unique_ptr< LLVMContext > Ctx, StringRef FnName, StringRef Suffix, const SmallVector< RuntimeConstant > &RCVec)
 
void * compileAndLink (StringRef FnName, char *IR, int IRSize, void **Args, int32_t *RCIndices, int32_t *RCTypes, int NumRuntimeConstants)
 
- Public Member Functions inherited from proteus::JitEngine
void optimizeIR (Module &M, StringRef Arch, char OptLevel='3', unsigned CodegenOptLevel=3)
 
bool isProteusDisabled ()
 
void enable ()
 
void disable ()
 

Static Public Member Functions

static JitEngineHostinstance ()
 
static void dumpSymbolInfo (const object::ObjectFile &loadedObj, const RuntimeDyld::LoadedObjectInfo &objInfo)
 
static void notifyLoaded (orc::MaterializationResponsibility &R, const object::ObjectFile &Obj, const RuntimeDyld::LoadedObjectInfo &LOI)
 

Public Attributes

std::unique_ptr< orc::LLJIT > LLJITPtr
 
ExitOnError ExitOnErr
 
- Public Attributes inherited from proteus::JitEngine
InitLLVMTargets Init
 

Additional Inherited Members

- Protected Member Functions inherited from proteus::JitEngine
void getRuntimeConstantValues (void **KernelArgs, const ArrayRef< int32_t > RCIndices, const ArrayRef< int32_t > RCTypes, SmallVector< RuntimeConstant > &RCVec)
 
void runCleanupPassPipeline (Module &M)
 
 JitEngine ()
 
std::string mangleSuffix (HashT &HashValue)
 
- Protected Attributes inherited from proteus::JitEngine
struct { 
 
   bool   PROTEUS_USE_STORED_CACHE 
 
   bool   PROTEUS_SET_LAUNCH_BOUNDS 
 
   bool   PROTEUS_SPECIALIZE_ARGS 
 
   bool   PROTEUS_SPECIALIZE_DIMS 
 
   bool   PROTEUS_USE_HIP_RTC_CODEGEN 
 
   bool   PROTEUS_DISABLE 
 
   bool   PROTEUS_DUMP_LLVM_IR 
 
   bool   PROTEUS_RELINK_GLOBALS_BY_COPY 
 
   bool   PROTEUS_ASYNC_COMPILATION 
 
   int   PROTEUS_ASYNC_THREADS 
 
   bool   PROTEUS_ASYNC_TEST_BLOCKING 
 
   bool   PROTEUS_USE_LIGHTWEIGHT_KERNEL_CLONE 
 
Config 
 

Constructor & Destructor Documentation

◆ ~JitEngineHost()

JitEngineHost::~JitEngineHost ( )

Member Function Documentation

◆ compileAndLink()

void * JitEngineHost::compileAndLink ( StringRef  FnName,
char *  IR,
int  IRSize,
void **  Args,
int32_t *  RCIndices,
int32_t *  RCTypes,
int  NumRuntimeConstants 
)

◆ dumpSymbolInfo()

void JitEngineHost::dumpSymbolInfo ( const object::ObjectFile &  loadedObj,
const RuntimeDyld::LoadedObjectInfo &  objInfo 
)
static

◆ instance()

JitEngineHost & JitEngineHost::instance ( )
static

◆ notifyLoaded()

void JitEngineHost::notifyLoaded ( orc::MaterializationResponsibility &  R,
const object::ObjectFile &  Obj,
const RuntimeDyld::LoadedObjectInfo &  LOI 
)
static

◆ specializeIR()

Expected< orc::ThreadSafeModule > JitEngineHost::specializeIR ( std::unique_ptr< Module >  M,
std::unique_ptr< LLVMContext >  Ctx,
StringRef  FnName,
StringRef  Suffix,
const SmallVector< RuntimeConstant > &  RCVec 
)

Member Data Documentation

◆ ExitOnErr

ExitOnError proteus::JitEngineHost::ExitOnErr

◆ LLJITPtr

std::unique_ptr<orc::LLJIT> proteus::JitEngineHost::LLJITPtr

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