class ObjectTransformLayer
Declaration
class ObjectTransformLayer : public RTTIExtends { /* full declaration omitted */ };
Description
Inheritance utility for extensible RTTI. Supports single inheritance only: A class can only have one ExtensibleRTTI-parent (i.e. a parent for which the isa < > test will work), though it can have many non-ExtensibleRTTI parents. RTTIExtents uses CRTP so the first template argument to RTTIExtends is the newly introduced type, and the *second* argument is the parent class. class MyType : public RTTIExtends <MyType , RTTIRoot> { public: static char ID; }; class MyDerivedType : public RTTIExtends <MyDerivedType , MyType> { public: static char ID; };
Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h:24
Inherits from: RTTIExtends
Member Variables
- private llvm::orc::ObjectLayer& BaseLayer
- private llvm::orc::ObjectTransformLayer::TransformFunction Transform
- public static char ID
Method Overview
- public ObjectTransformLayer(llvm::orc::ExecutionSession & ES, llvm::orc::ObjectLayer & BaseLayer, llvm::orc::ObjectTransformLayer::TransformFunction Transform = std::function<llvm::Expected<std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>> (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>)>())
- public void emit(std::unique_ptr<MaterializationResponsibility> R, std::unique_ptr<MemoryBuffer> O)
- public void setTransform(llvm::orc::ObjectTransformLayer::TransformFunction Transform)
Methods
¶ObjectTransformLayer(
llvm::orc::ExecutionSession& ES,
llvm::orc::ObjectLayer& BaseLayer,
llvm::orc::ObjectTransformLayer::
TransformFunction Transform =
std::function<llvm::Expected<
std::unique_ptr<
llvm::MemoryBuffer,
std::default_delete<
llvm::MemoryBuffer>>>(
std::unique_ptr<
llvm::MemoryBuffer,
std::default_delete<
llvm::MemoryBuffer>>)>())
ObjectTransformLayer(
llvm::orc::ExecutionSession& ES,
llvm::orc::ObjectLayer& BaseLayer,
llvm::orc::ObjectTransformLayer::
TransformFunction Transform =
std::function<llvm::Expected<
std::unique_ptr<
llvm::MemoryBuffer,
std::default_delete<
llvm::MemoryBuffer>>>(
std::unique_ptr<
llvm::MemoryBuffer,
std::default_delete<
llvm::MemoryBuffer>>)>())
Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h:33
Parameters
- llvm::orc::ExecutionSession& ES
- llvm::orc::ObjectLayer& BaseLayer
- llvm::orc::ObjectTransformLayer::TransformFunction Transform = std::function<llvm::Expected<std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>> (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>)>()
¶void emit(std::unique_ptr<
MaterializationResponsibility> R,
std::unique_ptr<MemoryBuffer> O)
void emit(std::unique_ptr<
MaterializationResponsibility> R,
std::unique_ptr<MemoryBuffer> O)
Description
Emit should materialize the given IR.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h:36
Parameters
- std::unique_ptr<MaterializationResponsibility> R
- std::unique_ptr<MemoryBuffer> O
¶void setTransform(
llvm::orc::ObjectTransformLayer::
TransformFunction Transform)
void setTransform(
llvm::orc::ObjectTransformLayer::
TransformFunction Transform)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h:39
Parameters
- llvm::orc::ObjectTransformLayer::TransformFunction Transform