ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
OrcJit Class Reference
Collaboration diagram for OrcJit:
Collaboration graph
[legend]

Public Member Functions

 OrcJit (llvm::orc::JITTargetMachineBuilder JTMB, llvm::DataLayout DL)
 
const llvm::DataLayout & getDataLayout () const
 
llvm::LLVMContext & getContext ()
 
void addModule (std::unique_ptr< llvm::Module > M)
 
llvm::Expected< llvm::JITEvaluatedSymbol > lookup (llvm::StringRef Name)
 
bool loadLib (const std::string &libName, const std::set< std::string > &libPaths)
 

Static Public Member Functions

static llvm::Expected< std::unique_ptr< OrcJit > > Create ()
 
static llvm::orc::ThreadSafeModule optimizeModule (llvm::orc::ThreadSafeModule TSM, const llvm::orc::MaterializationResponsibility &R)
 

Private Attributes

llvm::orc::ExecutionSession ES
 
llvm::orc::RTDyldObjectLinkingLayer ObjectLayer
 
llvm::orc::IRCompileLayer CompileLayer
 
llvm::orc::IRTransformLayer OptimizeLayer
 
llvm::DataLayout DL
 
llvm::orc::MangleAndInterner Mangle
 
llvm::orc::ThreadSafeContext Ctx
 
llvm::orc::JITDylib & MainJITDylib
 

Detailed Description

Definition at line 80 of file LLVMJIT.cpp.

Constructor & Destructor Documentation

◆ OrcJit()

OrcJit::OrcJit ( llvm::orc::JITTargetMachineBuilder  JTMB,
llvm::DataLayout  DL 
)
inline

Definition at line 83 of file LLVMJIT.cpp.

Member Function Documentation

◆ addModule()

void OrcJit::addModule ( std::unique_ptr< llvm::Module >  M)
inline

Definition at line 112 of file LLVMJIT.cpp.

Referenced by etiss::LLVMJIT::translate().

Here is the caller graph for this function:

◆ Create()

static llvm::Expected<std::unique_ptr<OrcJit> > OrcJit::Create ( )
inlinestatic

Definition at line 96 of file LLVMJIT.cpp.

Referenced by etiss::LLVMJIT::LLVMJIT().

Here is the caller graph for this function:

◆ getContext()

llvm::LLVMContext& OrcJit::getContext ( )
inline

Definition at line 110 of file LLVMJIT.cpp.

Referenced by etiss::LLVMJIT::translate().

Here is the caller graph for this function:

◆ getDataLayout()

const llvm::DataLayout& OrcJit::getDataLayout ( ) const
inline

Definition at line 109 of file LLVMJIT.cpp.

◆ loadLib()

bool OrcJit::loadLib ( const std::string &  libName,
const std::set< std::string > &  libPaths 
)
inline

Definition at line 122 of file LLVMJIT.cpp.

Referenced by etiss::LLVMJIT::translate().

Here is the caller graph for this function:

◆ lookup()

llvm::Expected<llvm::JITEvaluatedSymbol> OrcJit::lookup ( llvm::StringRef  Name)
inline

Definition at line 117 of file LLVMJIT.cpp.

Referenced by etiss::LLVMJIT::getFunction().

Here is the caller graph for this function:

◆ optimizeModule()

static llvm::orc::ThreadSafeModule OrcJit::optimizeModule ( llvm::orc::ThreadSafeModule  TSM,
const llvm::orc::MaterializationResponsibility &  R 
)
inlinestatic

Definition at line 138 of file LLVMJIT.cpp.

Member Data Documentation

◆ CompileLayer

llvm::orc::IRCompileLayer OrcJit::CompileLayer
private

Definition at line 165 of file LLVMJIT.cpp.

◆ Ctx

llvm::orc::ThreadSafeContext OrcJit::Ctx
private

Definition at line 170 of file LLVMJIT.cpp.

◆ DL

llvm::DataLayout OrcJit::DL
private

Definition at line 168 of file LLVMJIT.cpp.

◆ ES

llvm::orc::ExecutionSession OrcJit::ES
private

Definition at line 163 of file LLVMJIT.cpp.

◆ MainJITDylib

llvm::orc::JITDylib& OrcJit::MainJITDylib
private

Definition at line 171 of file LLVMJIT.cpp.

◆ Mangle

llvm::orc::MangleAndInterner OrcJit::Mangle
private

Definition at line 169 of file LLVMJIT.cpp.

◆ ObjectLayer

llvm::orc::RTDyldObjectLinkingLayer OrcJit::ObjectLayer
private

Definition at line 164 of file LLVMJIT.cpp.

◆ OptimizeLayer

llvm::orc::IRTransformLayer OrcJit::OptimizeLayer
private

Definition at line 166 of file LLVMJIT.cpp.


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