|
LLVM
8.0.1
|
#include "llvm/ExecutionEngine/Orc/IRCompileLayer.h"


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 () |
| ExecutionSession & | getExecutionSession () |
| 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... | |
Definition at line 31 of file IRCompileLayer.h.
| using llvm::orc::IRCompileLayer::CompileFunction = std::function<Expected<std::unique_ptr<MemoryBuffer> >(Module &)> |
Definition at line 34 of file IRCompileLayer.h.
| using llvm::orc::IRCompileLayer::NotifyCompiledFunction = std::function<void(VModuleKey K, ThreadSafeModule TSM)> |
Definition at line 37 of file IRCompileLayer.h.
| llvm::orc::IRCompileLayer::IRCompileLayer | ( | ExecutionSession & | ES, |
| ObjectLayer & | BaseLayer, | ||
| CompileFunction | Compile | ||
| ) |
Definition at line 15 of file IRCompileLayer.cpp.
|
overridevirtual |
Emit should materialize the given IR.
Implements llvm::orc::IRLayer.
Definition at line 24 of file IRCompileLayer.cpp.
References assert(), llvm::orc::ObjectLayer::emit(), llvm::orc::MaterializationResponsibility::failMaterialization(), llvm::orc::IRLayer::getExecutionSession(), llvm::orc::ThreadSafeModule::getModule(), llvm::orc::MaterializationResponsibility::getVModuleKey(), llvm::Lock, and llvm::orc::ExecutionSession::reportError().
| void llvm::orc::IRCompileLayer::setNotifyCompiled | ( | NotifyCompiledFunction | NotifyCompiled | ) |
Definition at line 19 of file IRCompileLayer.cpp.
References llvm::Lock.
1.8.13