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:
- include/llvm/ExecutionEngine/Orc/IRPartitionLayer.h
- lib/ExecutionEngine/Orc/IRPartitionLayer.cpp