class IRCompileLayer

Declaration

class IRCompileLayer : public IRLayer { /* full declaration omitted */ };

Description

Interface for layers that accept LLVM IR.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h:31

Inherits from: IRLayer

Member Variables

private std::mutex IRLayerMutex
private llvm::orc::ObjectLayer& BaseLayer
private std::unique_ptr<IRCompiler> Compile
private const IRSymbolMapper::ManglingOptions* ManglingOpts
private llvm::orc::IRCompileLayer::NotifyCompiledFunction NotifyCompiled = std::function<void (llvm::orc::MaterializationResponsibility &, llvm::orc::ThreadSafeModule)>()

Method Overview

  • public IRCompileLayer(llvm::orc::ExecutionSession & ES, llvm::orc::ObjectLayer & BaseLayer, std::unique_ptr<IRCompiler> Compile)
  • public void emit(std::unique_ptr<MaterializationResponsibility> R, llvm::orc::ThreadSafeModule TSM)
  • public llvm::orc::IRCompileLayer::IRCompiler & getCompiler()
  • public void setNotifyCompiled(llvm::orc::IRCompileLayer::NotifyCompiledFunction NotifyCompiled)

Inherited from IRLayer:

Methods

IRCompileLayer(
    llvm::orc::ExecutionSession& ES,
    llvm::orc::ObjectLayer& BaseLayer,
    std::unique_ptr<IRCompiler> Compile)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h:52

Parameters

llvm::orc::ExecutionSession& ES
llvm::orc::ObjectLayer& BaseLayer
std::unique_ptr<IRCompiler> Compile

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/IRCompileLayer.h:59

Parameters

std::unique_ptr<MaterializationResponsibility> R
llvm::orc::ThreadSafeModule TSM

llvm::orc::IRCompileLayer::IRCompiler&
getCompiler()

Declared at: llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h:55

void setNotifyCompiled(
    llvm::orc::IRCompileLayer::
        NotifyCompiledFunction NotifyCompiled)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h:57

Parameters

llvm::orc::IRCompileLayer::NotifyCompiledFunction NotifyCompiled