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, ArrayRef< RuntimeConstant > RCArray)
 
void * compileAndLink (StringRef FnName, char *IR, int IRSize, void **Args, ArrayRef< RuntimeConstantInfo * > RCInfoArray)
 
void compileOnly (std::unique_ptr< Module > M)
 
void * getFunctionAddress (StringRef FnName)
 
- 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
SmallVector< RuntimeConstantgetRuntimeConstantValues (void **KernelArgs, ArrayRef< RuntimeConstantInfo * > RCInfoArray)
 
 JitEngine ()
 
std::string mangleSuffix (HashT &HashValue)
 

Constructor & Destructor Documentation

◆ ~JitEngineHost()

JitEngineHost::~JitEngineHost ( )

Member Function Documentation

◆ compileAndLink()

void * JitEngineHost::compileAndLink ( StringRef  FnName,
char *  IR,
int  IRSize,
void **  Args,
ArrayRef< RuntimeConstantInfo * >  RCInfoArray 
)

◆ compileOnly()

void JitEngineHost::compileOnly ( std::unique_ptr< Module >  M)

◆ dumpSymbolInfo()

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

◆ getFunctionAddress()

void * JitEngineHost::getFunctionAddress ( StringRef  FnName)

◆ 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,
ArrayRef< RuntimeConstant RCArray 
)

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: