LLVM  8.0.1
Public Member Functions | Static Public Member Functions | List of all members
llvm::orc::LLLazyJIT Class Reference

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

#include "llvm/ExecutionEngine/Orc/LLJIT.h"

Inheritance diagram for llvm::orc::LLLazyJIT:
Inheritance graph
[legend]
Collaboration diagram for llvm::orc::LLLazyJIT:
Collaboration graph
[legend]

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...
 
ExecutionSessiongetExecutionSession ()
 Returns the ExecutionSession for this instance. More...
 
JITDylibgetMainJITDylib ()
 Returns a reference to the JITDylib representing the JIT'd main program. More...
 
JITDylibcreateJITDylib (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< JITEvaluatedSymbollookupLinkerMangled (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< JITEvaluatedSymbollookupLinkerMangled (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< JITEvaluatedSymbollookup (JITDylib &JD, StringRef UnmangledName)
 Look up a symbol in JITDylib JD based on its IR symbol name. More...
 
Expected< JITEvaluatedSymbollookup (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...
 
RTDyldObjectLinkingLayergetObjLinkingLayer ()
 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< ExecutionSessionES
 
JITDylibMain
 
DataLayout DL
 
std::unique_ptr< ThreadPoolCompileThreads
 
RTDyldObjectLinkingLayer ObjLinkingLayer
 
IRCompileLayer CompileLayer
 
CtorDtorRunner CtorRunner
 
CtorDtorRunner DtorRunner
 

Detailed Description

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

Definition at line 139 of file LLJIT.h.

Member Function Documentation

◆ addLazyIRModule() [1/2]

Error llvm::orc::LLLazyJIT::addLazyIRModule ( JITDylib JD,
ThreadSafeModule  M 
)

Add a module to be lazily compiled to JITDylib JD.

Definition at line 177 of file LLJIT.cpp.

References assert().

◆ addLazyIRModule() [2/2]

Error llvm::orc::LLLazyJIT::addLazyIRModule ( 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.

◆ Create()

Expected< std::unique_ptr< LLLazyJIT > > llvm::orc::LLLazyJIT::Create ( JITTargetMachineBuilder  JTMB,
DataLayout  DL,
JITTargetAddress  ErrorAddr,
unsigned  NumCompileThreads = 0 
)
static

◆ setLazyCompileTransform()

void llvm::orc::LLLazyJIT::setLazyCompileTransform ( IRTransformLayer::TransformFunction  Transform)
inline

Set an IR transform (e.g.

pass manager pipeline) to run on each function when it is compiled.

Definition at line 151 of file LLJIT.h.

◆ setPartitionFunction()

void llvm::orc::LLLazyJIT::setPartitionFunction ( CompileOnDemandLayer::PartitionFunction  Partition)
inline

Sets the partition function.

Definition at line 157 of file LLJIT.h.


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