class IRTransformLayer
Declaration
class IRTransformLayer : public IRLayer { /* full declaration omitted */ };
Description
A layer that applies a transform to emitted modules. The transform function is responsible for locking the ThreadSafeContext before operating on the module.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h:27
Inherits from: IRLayer
Member Variables
- private llvm::orc::IRLayer& BaseLayer
- private llvm::orc::IRTransformLayer::TransformFunction Transform
Method Overview
- public IRTransformLayer(llvm::orc::ExecutionSession & ES, llvm::orc::IRLayer & BaseLayer, llvm::orc::IRTransformLayer::TransformFunction Transform = identityTransform)
- public void emit(std::unique_ptr<MaterializationResponsibility> R, llvm::orc::ThreadSafeModule TSM)
- public static llvm::orc::ThreadSafeModule identityTransform(llvm::orc::ThreadSafeModule TSM, llvm::orc::MaterializationResponsibility & R)
- public void setTransform(llvm::orc::IRTransformLayer::TransformFunction Transform)
Inherited from IRLayer:
- public add
- public add
- public emit
- public getCloneToNewContextOnEmit
- public getExecutionSession
- public getManglingOptions
- public setCloneToNewContextOnEmit
Methods
¶IRTransformLayer(
llvm::orc::ExecutionSession& ES,
llvm::orc::IRLayer& BaseLayer,
llvm::orc::IRTransformLayer::TransformFunction
Transform = identityTransform)
IRTransformLayer(
llvm::orc::ExecutionSession& ES,
llvm::orc::IRLayer& BaseLayer,
llvm::orc::IRTransformLayer::TransformFunction
Transform = identityTransform)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h:32
Parameters
- llvm::orc::ExecutionSession& ES
- llvm::orc::IRLayer& BaseLayer
- llvm::orc::IRTransformLayer::TransformFunction Transform = identityTransform
¶void emit(std::unique_ptr<
MaterializationResponsibility> R,
llvm::orc::ThreadSafeModule TSM)
void emit(std::unique_ptr<
MaterializationResponsibility> R,
llvm::orc::ThreadSafeModule TSM)
Description
Emit should materialize the given IR.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h:39
Parameters
- std::unique_ptr<MaterializationResponsibility> R
- llvm::orc::ThreadSafeModule TSM
¶static llvm::orc::ThreadSafeModule
identityTransform(
llvm::orc::ThreadSafeModule TSM,
llvm::orc::MaterializationResponsibility& R)
static llvm::orc::ThreadSafeModule
identityTransform(
llvm::orc::ThreadSafeModule TSM,
llvm::orc::MaterializationResponsibility& R)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h:42
Parameters
¶void setTransform(
llvm::orc::IRTransformLayer::TransformFunction
Transform)
void setTransform(
llvm::orc::IRTransformLayer::TransformFunction
Transform)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h:35
Parameters
- llvm::orc::IRTransformLayer::TransformFunction Transform