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

Interface for layers that accept LLVM IR. More...

#include "[llvm/ExecutionEngine/Orc/Layer.h](Layer%5F8h%5Fsource.html)"

Public Member Functions
IRLayer (ExecutionSession &ES, const IRSymbolMapper::ManglingOptions *&MO)
virtual ~IRLayer ()
ExecutionSession & getExecutionSession ()
Returns the ExecutionSession for this layer.
const IRSymbolMapper::ManglingOptions *& getManglingOptions () const
Get the mangling options for this layer.
void setCloneToNewContextOnEmit (bool CloneToNewContextOnEmit)
Sets the CloneToNewContextOnEmit flag (false by default).
bool getCloneToNewContextOnEmit () const
Returns the current value of the CloneToNewContextOnEmit flag.
virtual Error add (ResourceTrackerSP RT, ThreadSafeModule TSM)
Add a MaterializatinoUnit representing the given IR to the JITDylib targeted by the given tracker.
Error add (JITDylib &JD, ThreadSafeModule TSM)
Adds a MaterializationUnit representing the given IR to the given JITDylib.
virtual void emit (std::unique_ptr< MaterializationResponsibility > R, ThreadSafeModule TSM)=0
Emit should materialize the given IR.

Interface for layers that accept LLVM IR.

Definition at line 68 of file Layer.h.

~IRLayer()

llvm::orc::IRLayer::~IRLayer ( ) virtualdefault

add() [1/2]

add() [2/2]

emit()

getCloneToNewContextOnEmit()

bool llvm::orc::IRLayer::getCloneToNewContextOnEmit ( ) const inline

Returns the current value of the CloneToNewContextOnEmit flag.

Definition at line 97 of file Layer.h.

getExecutionSession()

getManglingOptions()

setCloneToNewContextOnEmit()

void llvm::orc::IRLayer::setCloneToNewContextOnEmit ( bool CloneToNewContextOnEmit) inline

Sets the CloneToNewContextOnEmit flag (false by default).

When set, IR modules added to this layer will be cloned on to a new context before emit is called. This can be used by clients who want to load all IR using one LLVMContext (to save memory via type and constant uniquing), but want to move Modules to fresh contexts before compiling them to enable concurrent compilation. Single threaded clients, or clients who load every module on a new context, need not set this.

Definition at line 92 of file Layer.h.


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