LLVM: llvm::orc::LLLazyJIT Class Reference (original) (raw)

An extended version of LLJIT that supports lazy function-at-a-time compilation of LLVM IR. More...

#include "[llvm/ExecutionEngine/Orc/LLJIT.h](llvm%5F2ExecutionEngine%5F2Orc%5F2LLJIT%5F8h%5Fsource.html)"

Public Member Functions
void setPartitionFunction (IRPartitionLayer::PartitionFunction Partition)
Sets the partition function.
CompileOnDemandLayer & getCompileOnDemandLayer ()
Returns a reference to the on-demand layer.
LLVM_ABI Error addLazyIRModule (JITDylib &JD, ThreadSafeModule M)
Add a module to be lazily compiled to JITDylib JD.
Error addLazyIRModule (ThreadSafeModule M)
Add a module to be lazily compiled to the main JITDylib.
Public Member Functions inherited from llvm::orc::LLJIT
virtual ~LLJIT ()
Destruct this instance.
ExecutionSession & getExecutionSession ()
Returns the ExecutionSession for this instance.
const Triple & getTargetTriple () const
Returns a reference to the triple for this instance.
const DataLayout & getDataLayout () const
Returns a reference to the DataLayout for this instance.
JITDylib & getMainJITDylib ()
Returns a reference to the JITDylib representing the JIT'd main program.
JITDylibSP getProcessSymbolsJITDylib ()
Returns the ProcessSymbols JITDylib, which by default reflects non-JIT'd symbols in the host process.
JITDylibSP getPlatformJITDylib ()
Returns the Platform JITDylib, which will contain the ORC runtime (if given) and any platform symbols.
JITDylib * getJITDylibByName (StringRef Name)
Returns the JITDylib with the given name, or nullptr if no JITDylib with that name exists.
Expected< JITDylib & > loadPlatformDynamicLibrary (const char *Path)
Load a (real) dynamic library and make its symbols available through a new JITDylib with the same name.
Error linkStaticLibraryInto (JITDylib &JD, std::unique_ptr< MemoryBuffer > LibBuffer)
Link a static library into the given JITDylib.
Error linkStaticLibraryInto (JITDylib &JD, const char *Path)
Link a static library into the given JITDylib.
Expected< JITDylib & > createJITDylib (std::string Name)
Create a new JITDylib with the given name and return a reference to it.
JITDylibSearchOrder defaultLinkOrder ()
Returns the default link order for this LLJIT instance.
Error addIRModule (ResourceTrackerSP RT, ThreadSafeModule TSM)
Adds an IR module with the given ResourceTracker.
Error addIRModule (JITDylib &JD, ThreadSafeModule TSM)
Adds an IR module to the given JITDylib.
Error addIRModule (ThreadSafeModule TSM)
Adds an IR module to the Main JITDylib.
Error addObjectFile (ResourceTrackerSP RT, std::unique_ptr< MemoryBuffer > Obj)
Adds an object file to the given JITDylib.
Error addObjectFile (JITDylib &JD, std::unique_ptr< MemoryBuffer > Obj)
Adds an object file to the given JITDylib.
Error addObjectFile (std::unique_ptr< MemoryBuffer > Obj)
Adds an object file to the given JITDylib.
Expected< ExecutorAddr > lookupLinkerMangled (JITDylib &JD, SymbolStringPtr 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).
Expected< ExecutorAddr > 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).
Expected< ExecutorAddr > 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).
Expected< ExecutorAddr > lookup (JITDylib &JD, StringRef UnmangledName)
Look up a symbol in JITDylib JD based on its IR symbol name.
Expected< ExecutorAddr > lookup (StringRef UnmangledName)
Look up a symbol in the main JITDylib based on its IR symbol name.
void setPlatformSupport (std::unique_ptr< PlatformSupport > PS)
Set the PlatformSupport instance.
PlatformSupport * getPlatformSupport ()
Get the PlatformSupport instance.
Error initialize (JITDylib &JD)
Run the initializers for the given JITDylib.
Error deinitialize (JITDylib &JD)
Run the deinitializers for the given JITDylib.
ObjectLayer & getObjLinkingLayer ()
Returns a reference to the ObjLinkingLayer.
ObjectTransformLayer & getObjTransformLayer ()
Returns a reference to the object transform layer.
IRTransformLayer & getIRTransformLayer ()
Returns a reference to the IR transform layer.
IRCompileLayer & getIRCompileLayer ()
Returns a reference to the IR compile layer.
std::string mangle (StringRef UnmangledName) const
Returns a linker-mangled version of UnmangledName.
SymbolStringPtr mangleAndIntern (StringRef UnmangledName) const
Returns an interned, linker-mangled version of UnmangledName.
Friends
template<typename, typename, typename>
class LLJITBuilderSetters
Additional Inherited Members
Protected Member Functions inherited from llvm::orc::LLJIT
LLJIT (LLJITBuilderState &S, Error &Err)
Create an LLJIT instance with a single compile thread.
Error applyDataLayout (Module &M)
Static Protected Member Functions inherited from llvm::orc::LLJIT
static Expected< std::unique_ptr< ObjectLayer > > createObjectLinkingLayer (LLJITBuilderState &S, ExecutionSession &ES)
static Expected< std::unique_ptr< IRCompileLayer::IRCompiler > > createCompileFunction (LLJITBuilderState &S, JITTargetMachineBuilder JTMB)
Protected Attributes inherited from llvm::orc::LLJIT
std::unique_ptr< ExecutionSession > ES
std::unique_ptr< PlatformSupport > PS
JITDylib * ProcessSymbols = nullptr
JITDylib * Platform = nullptr
JITDylib * Main = nullptr
JITDylibSearchOrder DefaultLinks
DataLayout DL
Triple TT
std::unique_ptr< ObjectLayer > ObjLinkingLayer
std::unique_ptr< ObjectTransformLayer > ObjTransformLayer
std::unique_ptr< IRCompileLayer > CompileLayer
std::unique_ptr< IRTransformLayer > TransformLayer
std::unique_ptr< IRTransformLayer > InitHelperTransformLayer

An extended version of LLJIT that supports lazy function-at-a-time compilation of LLVM IR.

Definition at line 269 of file LLJIT.h.

addLazyIRModule() [1/2]

addLazyIRModule() [2/2]

getCompileOnDemandLayer()

Returns a reference to the on-demand layer.

Definition at line 280 of file LLJIT.h.

setPartitionFunction()

Sets the partition function.

Definition at line 275 of file LLJIT.h.

LLJITBuilderSetters

template<typename, typename, typename>


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