LLVM 22.0.0git
llvm::orc::IRCompileLayer Class Reference

#include "llvm/ExecutionEngine/Orc/IRCompileLayer.h"

Inheritance diagram for llvm::orc::IRCompileLayer:
[legend]

Classes

class  IRCompiler

Public Types

using NotifyCompiledFunction

Public Member Functions

 IRCompileLayer (ExecutionSession &ES, ObjectLayer &BaseLayer, std::unique_ptr< IRCompiler > Compile)
IRCompilergetCompiler ()
void setNotifyCompiled (NotifyCompiledFunction NotifyCompiled)
void emit (std::unique_ptr< MaterializationResponsibility > R, ThreadSafeModule TSM) override
 Emit should materialize the given IR.
Public Member Functions inherited from llvm::orc::IRLayer
 IRLayer (ExecutionSession &ES, const IRSymbolMapper::ManglingOptions *&MO)
virtual ~IRLayer ()
ExecutionSessiongetExecutionSession ()
 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.

Detailed Description

Definition at line 32 of file IRCompileLayer.h.

Member Typedef Documentation

◆ NotifyCompiledFunction

Initial value:
std::function<void(
Tracks responsibility for materialization, and mediates interactions between MaterializationUnits and...
Definition Core.h:576
An LLVM Module together with a shared ThreadSafeContext.

Definition at line 50 of file IRCompileLayer.h.

Constructor & Destructor Documentation

◆ IRCompileLayer()

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

Definition at line 16 of file IRCompileLayer.cpp.

References llvm::orc::IRLayer::IRLayer(), and llvm::move().

Member Function Documentation

◆ emit()

void llvm::orc::IRCompileLayer::emit ( std::unique_ptr< MaterializationResponsibility > R,
ThreadSafeModule TSM )
overridevirtual

◆ getCompiler()

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

Definition at line 56 of file IRCompileLayer.h.

◆ setNotifyCompiled()

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

Definition at line 23 of file IRCompileLayer.cpp.


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