LLVM 22.0.0git
|
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 | 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 |
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 ) |
Add a module to be lazily compiled to JITDylib JD.
Definition at line 1285 of file LLJIT.cpp.
References assert(), and llvm::orc::ThreadSafeModule::withModuleDo().
Referenced by addLazyIRModule().
|
inline |
Add a module to be lazily compiled to the main JITDylib.
Definition at line 286 of file LLJIT.h.
References addLazyIRModule(), and llvm::orc::LLJIT::Main.
|
inline |
|
inline |
|
friend |
Definition at line 270 of file LLJIT.h.
References LLJITBuilderSetters.
Referenced by LLJITBuilderSetters.