LLVM
8.0.1
|
#include "llvm/ExecutionEngine/Orc/ObjectTransformLayer.h"
Public Types | |
using | TransformFunction = std::function< Expected< std::unique_ptr< MemoryBuffer > >(std::unique_ptr< MemoryBuffer >)> |
Public Member Functions | |
ObjectTransformLayer (ExecutionSession &ES, ObjectLayer &BaseLayer, TransformFunction Transform) | |
void | emit (MaterializationResponsibility R, std::unique_ptr< MemoryBuffer > O) override |
Emit should materialize the given IR. More... | |
Public Member Functions inherited from llvm::orc::ObjectLayer | |
ObjectLayer (ExecutionSession &ES) | |
virtual | ~ObjectLayer () |
ExecutionSession & | getExecutionSession () |
Returns the execution session for this layer. More... | |
virtual Error | add (JITDylib &JD, std::unique_ptr< MemoryBuffer > O, VModuleKey K=VModuleKey()) |
Adds a MaterializationUnit representing the given IR to the given JITDylib. More... | |
Definition at line 26 of file ObjectTransformLayer.h.
using llvm::orc::ObjectTransformLayer::TransformFunction = std::function<Expected<std::unique_ptr<MemoryBuffer> >( std::unique_ptr<MemoryBuffer>)> |
Definition at line 30 of file ObjectTransformLayer.h.
llvm::orc::ObjectTransformLayer::ObjectTransformLayer | ( | ExecutionSession & | ES, |
ObjectLayer & | BaseLayer, | ||
TransformFunction | Transform | ||
) |
Definition at line 16 of file ObjectTransformLayer.cpp.
|
overridevirtual |
Emit should materialize the given IR.
Implements llvm::orc::ObjectLayer.
Definition at line 21 of file ObjectTransformLayer.cpp.
References assert(), llvm::orc::ObjectLayer::emit(), llvm::orc::MaterializationResponsibility::failMaterialization(), llvm::orc::ObjectLayer::getExecutionSession(), and llvm::orc::ExecutionSession::reportError().