Class EmbedOp
Defined in File DFGOps.h.inc
Inheritance Relationships
Base Type
public mlir::Op< EmbedOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::AttrSizedOperandSegments, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::dfg::NodeInterface::Trait, ::mlir::dfg::GraphInterface::Trait >
Class Documentation
-
class EmbedOp : public mlir::Op<EmbedOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::AttrSizedOperandSegments, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::dfg::NodeInterface::Trait, ::mlir::dfg::GraphInterface::Trait>
Public Types
-
using Adaptor = EmbedOpAdaptor
-
template<typename RangeT>
using GenericAdaptor = EmbedOpGenericAdaptor<RangeT>
-
using FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute>>
-
using Properties = FoldAdaptor::Properties
Public Functions
-
inline ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames()
-
inline ::mlir::StringAttr getActorAttrName()
-
inline ::mlir::StringAttr getOffloadedAttrName()
-
inline ::mlir::StringAttr getOperandSegmentSizesAttrName()
-
std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index)
-
inline ::mlir::Operation::operand_range getODSOperands(unsigned index)
-
inline ::mlir::Operation::operand_range getInputs()
-
inline ::mlir::Operation::operand_range getOutputs()
-
::mlir::MutableOperandRange getInputsMutable()
-
::mlir::MutableOperandRange getOutputsMutable()
-
inline std::pair<unsigned, unsigned> getODSResultIndexAndLength(unsigned index)
-
inline ::mlir::Operation::result_range getODSResults(unsigned index)
-
void writeProperties(::mlir::DialectBytecodeWriter &writer)
-
inline ::mlir::SymbolRefAttr getActorAttr()
-
::mlir::SymbolRefAttr getActor()
-
inline ::mlir::dfg::OffloadHardwareAttr getOffloadedAttr()
-
::std::optional<::mlir::dfg::OffloadHardware> getOffloaded()
-
inline void setActorAttr(::mlir::SymbolRefAttr attr)
-
inline void setOffloadedAttr(::mlir::dfg::OffloadHardwareAttr attr)
-
void setOffloaded(::std::optional<::mlir::dfg::OffloadHardware> attrValue)
-
inline ::mlir::Attribute removeOffloadedAttr()
-
void print(::mlir::OpAsmPrinter &p)
Prints an
EmbedOpin the custom assembly syntax consumed byparse.Mirrors
InstantiateOp::print: emits the optional offload annotation, the region symbol name, optionalinputs/outputsoperand lists, and the trailing function type.
-
::llvm::LogicalResult verifyInvariantsImpl()
-
::llvm::LogicalResult verifyInvariants()
-
::llvm::LogicalResult verify()
Verifies that the embedded region exists and has a matching signature.
Mirrors
InstantiateOp::verify: looks up the embeddedRegionOpby symbol and confirms that its base function type matches the one declared by thisEmbedOp. A missing region or a type mismatch are both hard errors.
-
inline std::string getNodeName()
-
inline unsigned getNumInputPorts()
-
inline Value getInputPort(unsigned index)
-
inline SmallVector<Type> getInputPortTypes()
-
inline SmallVector<Value> getInputPorts()
-
inline unsigned getNumOutputPorts()
-
inline Value getOutputPort(unsigned index)
-
inline SmallVector<Type> getOutputPortTypes()
-
inline SmallVector<Value> getOutputPorts()
-
inline std::string getGraphName()
-
inline bool isSubGraph()
-
inline Operation *getEmbeddedOperation()
Finds the embedded region in this operation.
-
inline FunctionType getFunctionType()
Constructs a function type from the inputs/outputs types.
Public Static Functions
-
static inline ::mlir::StringAttr getActorAttrName(::mlir::OperationName name)
-
static inline ::mlir::StringAttr getOffloadedAttrName(::mlir::OperationName name)
-
static inline ::mlir::StringAttr getOperandSegmentSizesAttrName(::mlir::OperationName name)
-
static inline constexpr ::llvm::StringLiteral getOperationName()
-
static ::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
-
static ::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
-
static llvm::hash_code computePropertiesHash(const Properties &prop)
-
static std::optional<mlir::Attribute> getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
-
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
-
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
-
static ::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
-
static ::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
-
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, StringRef actorName, ValueRange inputs, ValueRange outputs, std::optional<OffloadHardware> offloaded = std::nullopt)
-
static EmbedOp create(::mlir::OpBuilder &builder, ::mlir::Location location, StringRef actorName, ValueRange inputs, ValueRange outputs, std::optional<OffloadHardware> offloaded = std::nullopt)
-
static EmbedOp create(::mlir::ImplicitLocOpBuilder &builder, StringRef actorName, ValueRange inputs, ValueRange outputs, std::optional<OffloadHardware> offloaded = std::nullopt)
-
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, RegionOp actorRegion, ValueRange inputs, ValueRange outputs, std::optional<OffloadHardware> offloaded = std::nullopt)
-
static EmbedOp create(::mlir::OpBuilder &builder, ::mlir::Location location, RegionOp actorRegion, ValueRange inputs, ValueRange outputs, std::optional<OffloadHardware> offloaded = std::nullopt)
-
static EmbedOp create(::mlir::ImplicitLocOpBuilder &builder, RegionOp actorRegion, ValueRange inputs, ValueRange outputs, std::optional<OffloadHardware> offloaded = std::nullopt)
-
static ::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Parses an
EmbedOpfrom its custom assembly syntax.The syntax and parsing logic are identical to
InstantiateOp::parse; the only semantic distinction is that the referenced actor must resolve to aRegionOp(a structural sub-graph) rather than a process or operator node.
-
static ::llvm::LogicalResult setPropertiesFromParsedAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
-
using Adaptor = EmbedOpAdaptor