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:

Methods

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)

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)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h:42

Parameters

llvm::orc::ThreadSafeModule TSM
llvm::orc::MaterializationResponsibility& R

void setTransform(
    llvm::orc::IRTransformLayer::TransformFunction
        Transform)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h:35

Parameters

llvm::orc::IRTransformLayer::TransformFunction Transform