LLVM
8.0.1
|
An extended version of LLJIT that supports lazy function-at-a-time compilation of LLVM IR. More...
#include "llvm/ExecutionEngine/Orc/LLJIT.h"
Public Member Functions | |
void | setLazyCompileTransform (IRTransformLayer::TransformFunction Transform) |
Set an IR transform (e.g. More... | |
void | setPartitionFunction (CompileOnDemandLayer::PartitionFunction Partition) |
Sets the partition function. More... | |
Error | addLazyIRModule (JITDylib &JD, ThreadSafeModule M) |
Add a module to be lazily compiled to JITDylib JD. More... | |
Error | addLazyIRModule (ThreadSafeModule M) |
Add a module to be lazily compiled to the main JITDylib. More... | |
Public Member Functions inherited from llvm::orc::LLJIT | |
~LLJIT () | |
Destruct this instance. More... | |
ExecutionSession & | getExecutionSession () |
Returns the ExecutionSession for this instance. More... | |
JITDylib & | getMainJITDylib () |
Returns a reference to the JITDylib representing the JIT'd main program. More... | |
JITDylib & | createJITDylib (std::string Name) |
Create a new JITDylib with the given name and return a reference to it. More... | |
Error | defineAbsolute (StringRef Name, JITEvaluatedSymbol Address) |
Convenience method for defining an absolute symbol. More... | |
Error | addIRModule (JITDylib &JD, ThreadSafeModule TSM) |
Convenience method for defining an. More... | |
Error | addIRModule (ThreadSafeModule TSM) |
Adds an IR module to the Main JITDylib. More... | |
Error | addObjectFile (JITDylib &JD, std::unique_ptr< MemoryBuffer > Obj) |
Adds an object file to the given JITDylib. More... | |
Error | addObjectFile (std::unique_ptr< MemoryBuffer > Obj) |
Adds an object file to the given JITDylib. More... | |
Expected< JITEvaluatedSymbol > | lookupLinkerMangled (JITDylib &JD, StringRef Name) |
Look up a symbol in JITDylib JD by the symbol's linker-mangled name (to look up symbols based on their IR name use the lookup function instead). More... | |
Expected< JITEvaluatedSymbol > | lookupLinkerMangled (StringRef Name) |
Look up a symbol in the main JITDylib by the symbol's linker-mangled name (to look up symbols based on their IR name use the lookup function instead). More... | |
Expected< JITEvaluatedSymbol > | lookup (JITDylib &JD, StringRef UnmangledName) |
Look up a symbol in JITDylib JD based on its IR symbol name. More... | |
Expected< JITEvaluatedSymbol > | lookup (StringRef UnmangledName) |
Look up a symbol in the main JITDylib based on its IR symbol name. More... | |
Error | runConstructors () |
Runs all not-yet-run static constructors. More... | |
Error | runDestructors () |
Runs all not-yet-run static destructors. More... | |
RTDyldObjectLinkingLayer & | getObjLinkingLayer () |
Returns a reference to the ObjLinkingLayer. More... | |
Static Public Member Functions | |
static Expected< std::unique_ptr< LLLazyJIT > > | Create (JITTargetMachineBuilder JTMB, DataLayout DL, JITTargetAddress ErrorAddr, unsigned NumCompileThreads=0) |
Create an LLLazyJIT instance. More... | |
Static Public Member Functions inherited from llvm::orc::LLJIT | |
static Expected< std::unique_ptr< LLJIT > > | Create (JITTargetMachineBuilder JTMB, DataLayout DL, unsigned NumCompileThreads=0) |
Create an LLJIT instance. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from llvm::orc::LLJIT | |
LLJIT (std::unique_ptr< ExecutionSession > ES, std::unique_ptr< TargetMachine > TM, DataLayout DL) | |
Create an LLJIT instance with a single compile thread. More... | |
LLJIT (std::unique_ptr< ExecutionSession > ES, JITTargetMachineBuilder JTMB, DataLayout DL, unsigned NumCompileThreads) | |
Create an LLJIT instance with multiple compile threads. More... | |
std::string | mangle (StringRef UnmangledName) |
Error | applyDataLayout (Module &M) |
void | recordCtorDtors (Module &M) |
Protected Attributes inherited from llvm::orc::LLJIT | |
std::unique_ptr< ExecutionSession > | ES |
JITDylib & | Main |
DataLayout | DL |
std::unique_ptr< ThreadPool > | CompileThreads |
RTDyldObjectLinkingLayer | ObjLinkingLayer |
IRCompileLayer | CompileLayer |
CtorDtorRunner | CtorRunner |
CtorDtorRunner | DtorRunner |
An extended version of LLJIT that supports lazy function-at-a-time compilation of LLVM IR.
Error llvm::orc::LLLazyJIT::addLazyIRModule | ( | JITDylib & | JD, |
ThreadSafeModule | M | ||
) |
|
inline |
Add a module to be lazily compiled to the main JITDylib.
Definition at line 165 of file LLJIT.h.
References llvm::orc::LLJIT::ES, function, llvm::orc::LLJIT::Main, and llvm::SystemZISD::TM.
|
static |
Create an LLLazyJIT instance.
If NumCompileThreads is not equal to zero, creates a multi-threaded LLLazyJIT with the given number of compile threads.
Definition at line 147 of file LLJIT.cpp.
References llvm::orc::createLocalIndirectStubsManagerBuilder(), llvm::orc::createLocalLazyCallThroughManager(), llvm::orc::JITTargetMachineBuilder::createTargetMachine(), llvm::orc::LLJIT::ES, llvm::orc::JITTargetMachineBuilder::getTargetTriple(), llvm::inconvertibleErrorCode(), and llvm::SystemZISD::TM.
|
inline |
|
inline |