Class HelperWindowOp

Inheritance Relationships

Base Type

  • public mlir::Op< HelperWindowOp, ::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::OpAsmOpInterface::Trait >

Class Documentation

class HelperWindowOp : public mlir::Op<HelperWindowOp, ::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::OpAsmOpInterface::Trait>

Public Types

using Adaptor = HelperWindowOpAdaptor
template<typename RangeT>
using GenericAdaptor = HelperWindowOpGenericAdaptor<RangeT>
using FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute>>
using Properties = FoldAdaptor::Properties

Public Functions

inline ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames()
std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index)
inline ::mlir::Operation::operand_range getODSOperands(unsigned index)
inline ::mlir::TypedValue<::mlir::Type> getBufRef()
inline ::mlir::Operation::operand_range getIndices()
inline ::mlir::OpOperand &getBufRefMutable()
::mlir::MutableOperandRange getIndicesMutable()
inline std::pair<unsigned, unsigned> getODSResultIndexAndLength(unsigned index)
inline ::mlir::Operation::result_range getODSResults(unsigned index)
inline ::mlir::TypedValue<::mlir::Type> getWinRef()
void print(::mlir::OpAsmPrinter &p)

Prints a emithls::HelperWindowOp in the custom assembly syntax consumed by parse.

::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
void getAsmResultNames(::mlir::OpAsmSetValueNameFn setNameFn)

Names the SSA result of a emithls::HelperWindowOp.

Assigns a name of the form window_<N> where N is the zero-based index among all HelperWindowOps that appear before this one in a pre-order walk of the nearest enclosing non-module ancestor.

Public Static Functions

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 void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, Value linebuf, ValueRange indices, Type windowType)

Builds a emithls::HelperWindowOp.

Parameters:
  • linebuf – The line buffer memref/array from which the window is extracted.

  • indices – Multi-dimensional index operands selecting the window origin within the line buffer.

  • windowType – The type of the resulting window memref/array.

static HelperWindowOp create(::mlir::OpBuilder &builder, ::mlir::Location location, Value linebuf, ValueRange indices, Type windowType)
static HelperWindowOp create(::mlir::ImplicitLocOpBuilder &builder, Value linebuf, ValueRange indices, Type windowType)
static ::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)

Parses a emithls::HelperWindowOp from its custom assembly syntax.

The expected syntax is:

`emithls.helper_window` linebuf `from` `[` index-list `]`
  `:` buffer-type `->` window-type

All index operands are resolved as index type.

static ::llvm::LogicalResult setPropertiesFromParsedAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)

Public Static Attributes

static constexpr int odsIndex_buf_ref = 0
static constexpr int odsIndex_indices = 1