Class HelperLineBufferOp
Defined in File EmitHLSOps.h.inc
Inheritance Relationships
Base Type
public mlir::Op< HelperLineBufferOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type >::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::AtLeastNOperands< 1 >::Impl, ::mlir::OpTrait::HasParent< ForOp, affine::AffineForOp >::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::OpAsmOpInterface::Trait >
Class Documentation
-
class HelperLineBufferOp : public mlir::Op<HelperLineBufferOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::AtLeastNOperands<1>::Impl, ::mlir::OpTrait::HasParent<ForOp, affine::AffineForOp>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::OpAsmOpInterface::Trait>
Public Types
-
using Adaptor = HelperLineBufferOpAdaptor
-
template<typename RangeT>
using GenericAdaptor = HelperLineBufferOpGenericAdaptor<RangeT>
-
using FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute>>
-
using Properties = FoldAdaptor::Properties
Public Functions
-
inline ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames()
-
inline ::mlir::StringAttr getNumChanAttrName()
-
inline ::mlir::StringAttr getNumLineAttrName()
-
std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index)
-
inline ::mlir::Operation::operand_range getODSOperands(unsigned index)
-
inline ::mlir::TypedValue<::mlir::Type> getTokenRef()
-
inline ::mlir::TypedValue<::mlir::IndexType> getIndex()
-
inline ::mlir::OpOperand &getTokenRefMutable()
-
::mlir::MutableOperandRange getIndexMutable()
-
inline std::pair<unsigned, unsigned> getODSResultIndexAndLength(unsigned index)
-
inline ::mlir::Operation::result_range getODSResults(unsigned index)
-
inline ::mlir::TypedValue<::mlir::Type> getBufRef()
-
void writeProperties(::mlir::DialectBytecodeWriter &writer)
-
inline ::mlir::ArrayAttr getNumChanAttr()
-
::mlir::ArrayAttr getNumChan()
-
inline ::mlir::IntegerAttr getNumLineAttr()
-
uint32_t getNumLine()
-
inline void setNumChanAttr(::mlir::ArrayAttr attr)
-
inline void setNumLineAttr(::mlir::IntegerAttr attr)
-
void setNumLine(uint32_t attrValue)
-
void print(::mlir::OpAsmPrinter &p)
Prints a
emithls::HelperLineBufferOpin the custom assembly syntax consumed byparse.
-
::llvm::LogicalResult verifyInvariantsImpl()
-
::llvm::LogicalResult verifyInvariants()
-
void getAsmResultNames(::mlir::OpAsmSetValueNameFn setNameFn)
Names the SSA result of a
emithls::HelperLineBufferOp.Assigns a name of the form
linebuf_<N>whereNis the zero-based index among allHelperLineBufferOps that appear before this one in a pre-order walk of the nearest enclosing non-module ancestor.
Public Static Functions
-
static inline ::mlir::StringAttr getNumChanAttrName(::mlir::OperationName name)
-
static inline ::mlir::StringAttr getNumLineAttrName(::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, Value tokenRef, Value index, Type linebufType, ArrayRef<int32_t> numChan, int32_t numLine)
Builds a
emithls::HelperLineBufferOp.- Parameters:
tokenRef – The shift-register token memref/array that backs the line buffer storage.
index – The current pixel index selecting which line to retain.
linebufType – The type of the resulting line buffer memref/array.
numChan – Per-dimension channel counts stored per pixel position.
numLine – Number of lines held simultaneously in the buffer.
-
static HelperLineBufferOp create(::mlir::OpBuilder &builder, ::mlir::Location location, Value tokenRef, Value index, Type linebufType, ArrayRef<int32_t> numChan, int32_t numLine)
-
static HelperLineBufferOp create(::mlir::ImplicitLocOpBuilder &builder, Value tokenRef, Value index, Type linebufType, ArrayRef<int32_t> numChan, int32_t numLine)
-
static ::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Parses a
emithls::HelperLineBufferOpfrom its custom assembly syntax.The expected syntax is:
`emithls.helper_line_buffer` token-memref `num_chan` `[` integer (`,` integer)* `]` `num_line` integer `keep` index `:` token-type `->` linebuf-type
-
static ::llvm::LogicalResult setPropertiesFromParsedAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
-
using Adaptor = HelperLineBufferOpAdaptor