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

A layer that breaks up IR modules into smaller submodules that only contains looked up symbols. More...

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

Public Member Functions
IRPartitionLayer (ExecutionSession &ES, IRLayer &BaseLayer)
Construct a IRPartitionLayer.
void setPartitionFunction (PartitionFunction Partition)
Sets the partition function.
void emit (std::unique_ptr< MaterializationResponsibility > R, ThreadSafeModule TSM) override
Emits the given module.
Public Member Functions inherited from llvm::orc::IRLayer
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.
Static Public Member Functions
static std::optional< GlobalValueSet > compileRequested (GlobalValueSet Requested)
Off-the-shelf partitioning which compiles all requested symbols (usually a single function at a time).
static std::optional< GlobalValueSet > compileWholeModule (GlobalValueSet Requested)
Off-the-shelf partitioning which compiles whole modules whenever any symbol in them is requested.

A layer that breaks up IR modules into smaller submodules that only contains looked up symbols.

Definition at line 38 of file IRPartitionLayer.h.

GlobalValueSet

PartitionFunction

Initial value:

std::function<std::optional(GlobalValueSet Requested)>

std::set< const GlobalValue * > GlobalValueSet

Partitioning function.

Definition at line 45 of file IRPartitionLayer.h.

compileRequested()

std::optional< IRPartitionLayer::GlobalValueSet > IRPartitionLayer::compileRequested ( GlobalValueSet Requested) static

Off-the-shelf partitioning which compiles all requested symbols (usually a single function at a time).

Definition at line 110 of file IRPartitionLayer.cpp.

compileWholeModule()

std::optional< IRPartitionLayer::GlobalValueSet > IRPartitionLayer::compileWholeModule ( GlobalValueSet Requested) static

Off-the-shelf partitioning which compiles whole modules whenever any symbol in them is requested.

Definition at line 115 of file IRPartitionLayer.cpp.

emit()

setPartitionFunction()

void IRPartitionLayer::setPartitionFunction ( PartitionFunction Partition )

PartitioningIRMaterializationUnit


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