LLVM  8.0.1
Public Types | Public Member Functions | List of all members
llvm::orc::IRCompileLayer Class Reference

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

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

Public Types

using CompileFunction = std::function< Expected< std::unique_ptr< MemoryBuffer > >(Module &)>
 
using NotifyCompiledFunction = std::function< void(VModuleKey K, ThreadSafeModule TSM)>
 

Public Member Functions

 IRCompileLayer (ExecutionSession &ES, ObjectLayer &BaseLayer, CompileFunction Compile)
 
void setNotifyCompiled (NotifyCompiledFunction NotifyCompiled)
 
void emit (MaterializationResponsibility R, ThreadSafeModule TSM) override
 Emit should materialize the given IR. More...
 
- Public Member Functions inherited from llvm::orc::IRLayer
 IRLayer (ExecutionSession &ES)
 
virtual ~IRLayer ()
 
ExecutionSessiongetExecutionSession ()
 Returns the ExecutionSession for this layer. More...
 
void setCloneToNewContextOnEmit (bool CloneToNewContextOnEmit)
 Sets the CloneToNewContextOnEmit flag (false by default). More...
 
bool getCloneToNewContextOnEmit () const
 Returns the current value of the CloneToNewContextOnEmit flag. More...
 
virtual Error add (JITDylib &JD, ThreadSafeModule TSM, VModuleKey K=VModuleKey())
 Adds a MaterializationUnit representing the given IR to the given JITDylib. More...
 

Detailed Description

Definition at line 31 of file IRCompileLayer.h.

Member Typedef Documentation

◆ CompileFunction

Definition at line 34 of file IRCompileLayer.h.

◆ NotifyCompiledFunction

Definition at line 37 of file IRCompileLayer.h.

Constructor & Destructor Documentation

◆ IRCompileLayer()

llvm::orc::IRCompileLayer::IRCompileLayer ( ExecutionSession ES,
ObjectLayer BaseLayer,
CompileFunction  Compile 
)

Definition at line 15 of file IRCompileLayer.cpp.

Member Function Documentation

◆ emit()

void llvm::orc::IRCompileLayer::emit ( MaterializationResponsibility  R,
ThreadSafeModule  TSM 
)
overridevirtual

◆ setNotifyCompiled()

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

Definition at line 19 of file IRCompileLayer.cpp.

References llvm::Lock.


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