|
unsigned | getSrcMemRefOperandIndex () |
| Returns the operand index of the src memref. More...
|
|
Value | getSrcMemRef () |
| Returns the source MemRefType for this DMA operation. More...
|
|
MemRefType | getSrcMemRefType () |
|
unsigned | getSrcMemRefRank () |
| Returns the rank (number of indices) of the source MemRefType. More...
|
|
AffineMap | getSrcMap () |
| Returns the affine map used to access the src memref. More...
|
|
AffineMapAttr | getSrcMapAttr () |
|
operand_range | getSrcIndices () |
| Returns the source memref affine map indices for this DMA operation. More...
|
|
unsigned | getSrcMemorySpace () |
| Returns the memory space of the src memref. More...
|
|
unsigned | getDstMemRefOperandIndex () |
| Returns the operand index of the dst memref. More...
|
|
Value | getDstMemRef () |
| Returns the destination MemRefType for this DMA operations. More...
|
|
MemRefType | getDstMemRefType () |
|
unsigned | getDstMemRefRank () |
| Returns the rank (number of indices) of the destination MemRefType. More...
|
|
unsigned | getDstMemorySpace () |
| Returns the memory space of the src memref. More...
|
|
AffineMap | getDstMap () |
| Returns the affine map used to access the dst memref. More...
|
|
AffineMapAttr | getDstMapAttr () |
|
operand_range | getDstIndices () |
| Returns the destination memref indices for this DMA operation. More...
|
|
unsigned | getTagMemRefOperandIndex () |
| Returns the operand index of the tag memref. More...
|
|
Value | getTagMemRef () |
| Returns the Tag MemRef for this DMA operation. More...
|
|
MemRefType | getTagMemRefType () |
|
unsigned | getTagMemRefRank () |
| Returns the rank (number of indices) of the tag MemRefType. More...
|
|
AffineMap | getTagMap () |
| Returns the affine map used to access the tag memref. More...
|
|
AffineMapAttr | getTagMapAttr () |
|
operand_range | getTagIndices () |
| Returns the tag memref indices for this DMA operation. More...
|
|
Value | getNumElements () |
| Returns the number of elements being transferred by this DMA operation. More...
|
|
NamedAttribute | getAffineMapAttrForMemRef (Value memref) |
| Returns the AffineMapAttr associated with 'memref'. More...
|
|
bool | isDestMemorySpaceFaster () |
| Returns true if this is a DMA from a faster memory space to a slower one. More...
|
|
bool | isSrcMemorySpaceFaster () |
| Returns true if this is a DMA from a slower memory space to a faster one. More...
|
|
unsigned | getFasterMemPos () |
|
void | print (OpAsmPrinter &p) |
|
LogicalResult | verify () |
|
LogicalResult | fold (ArrayRef< Attribute > cstOperands, SmallVectorImpl< OpFoldResult > &results) |
|
bool | isStrided () |
| Returns true if this DMA operation is strided, returns false otherwise. More...
|
|
Value | getStride () |
| Returns the stride value for this DMA operation. More...
|
|
Value | getNumElementsPerStride () |
| Returns the number of elements to transfer per stride for this DMA op. More...
|
|
Operation * | getOperation () |
| Return the operation that this refers to. More...
|
|
AffineDmaStartOp | clone () |
| Create a deep copy of this operation. More...
|
|
AffineDmaStartOp | cloneWithoutRegions () |
|
Dialect * | getDialect () |
| Return the dialect that this refers to. More...
|
|
Region * | getParentRegion () |
| Return the parent Region of this operation. More...
|
|
| Op () |
| This is a public constructor. Any op can be initialized to null. More...
|
|
| Op (std::nullptr_t) |
|
| Op (Operation *state) |
|
const void * | getAsOpaquePointer () const |
| Methods for supporting PointerLikeTypeTraits. More...
|
|
| operator bool () |
| Ops are pointer-like, so we allow implicit conversion to bool. More...
|
|
| operator Operation * () const |
| This implicitly converts to Operation*. More...
|
|
Operation * | getOperation () |
| Return the operation that this refers to. More...
|
|
Operation * | getParentOp () |
|
template<typename OpTy > |
OpTy | getParentOfType () |
| Return the closest surrounding parent operation that is of type 'OpTy'. More...
|
|
MLIRContext * | getContext () |
| Return the context this operation belongs to. More...
|
|
void | print (raw_ostream &os, OpPrintingFlags flags=llvm::None) |
| Print the operation to the given stream. More...
|
|
void | dump () |
| Dump this operation. More...
|
|
Location | getLoc () |
| The source location the operation was defined or derived from. More...
|
|
void | setLoc (Location loc) |
|
ArrayRef< NamedAttribute > | getAttrs () |
| Return all of the attributes on this operation. More...
|
|
dialect_attr_range | getDialectAttrs () |
| Return a range corresponding to the dialect attributes for this operation. More...
|
|
dialect_attr_iterator | dialect_attr_begin () |
|
dialect_attr_iterator | dialect_attr_end () |
|
Attribute | getAttr (StringRef name) |
| Return an attribute with the specified name. More...
|
|
template<typename AttrClass > |
AttrClass | getAttrOfType (StringRef name) |
| If the operation has an attribute of the specified type, return it. More...
|
|
void | setAttr (Identifier name, Attribute value) |
|
void | setAttr (StringRef name, Attribute value) |
|
void | setAttrs (ArrayRef< NamedAttribute > attributes) |
| Set the attributes held by this operation. More...
|
|
void | setAttrs (NamedAttributeList newAttrs) |
|
template<typename DialectAttrs > |
void | setDialectAttrs (DialectAttrs &&attrs) |
| Set the dialect attributes for this operation, and preserve all dependent. More...
|
|
NamedAttributeList::RemoveResult | removeAttr (Identifier name) |
|
NamedAttributeList::RemoveResult | removeAttr (StringRef name) |
|
bool | use_empty () |
| Return true if there are no users of any results of this operation. More...
|
|
void | erase () |
| Remove this operation from its parent block and delete it. More...
|
|
InFlightDiagnostic | emitOpError (const Twine &message={}) |
|
InFlightDiagnostic | emitError (const Twine &message={}) |
|
InFlightDiagnostic | emitWarning (const Twine &message={}) |
|
InFlightDiagnostic | emitRemark (const Twine &message={}) |
|
template<typename FnT , typename RetT = detail::walkResultType<FnT>> |
RetT | walk (FnT &&callback) |
|
Public Member Functions inherited from mlir::OpTrait::detail::MultiOperandTraitBase< AffineDmaStartOp, VariadicOperands > |
unsigned | getNumOperands () |
| Return the number of operands. More...
|
|
Value | getOperand (unsigned i) |
| Return the operand at index 'i'. More...
|
|
void | setOperand (unsigned i, Value value) |
| Set the operand at index 'i' to 'value'. More...
|
|
operand_iterator | operand_begin () |
| Operand iterator access. More...
|
|
operand_iterator | operand_end () |
|
operand_range | getOperands () |
|
operand_type_iterator | operand_type_begin () |
| Operand type access. More...
|
|
operand_type_iterator | operand_type_end () |
|
operand_type_range | getOperandTypes () |
|
LogicalResult | fold (ArrayRef< Attribute > operands, SmallVectorImpl< OpFoldResult > &results) |
|
|
static void | build (Builder *builder, OperationState &result, Value srcMemRef, AffineMap srcMap, ValueRange srcIndices, Value destMemRef, AffineMap dstMap, ValueRange destIndices, Value tagMemRef, AffineMap tagMap, ValueRange tagIndices, Value numElements, Value stride=nullptr, Value elementsPerStride=nullptr) |
|
static StringRef | getSrcMapAttrName () |
|
static StringRef | getDstMapAttrName () |
|
static StringRef | getTagMapAttrName () |
|
static StringRef | getOperationName () |
|
static ParseResult | parse (OpAsmParser &parser, OperationState &result) |
|
static constexpr bool | hasTrait () |
| Return if this operation contains the provided trait. More...
|
|
static bool | classof (Operation *op) |
| Return true if this "op class" can match against the specified operation. More...
|
|
static ParseResult | parseAssembly (OpAsmParser &parser, OperationState &result) |
|
static void | printAssembly (Operation *op, OpAsmPrinter &p) |
|
static LogicalResult | verifyInvariants (Operation *op) |
|
static AbstractOperation::OperationProperties | getOperationProperties () |
|
static ConcreteOpType | getFromOpaquePointer (const void *pointer) |
|
static void | getCanonicalizationPatterns (OwningRewritePatternList &results, MLIRContext *context) |
|
static LogicalResult | foldHook (Operation *op, ArrayRef< Attribute > operands, SmallVectorImpl< OpFoldResult > &results) |
|
AffineDmaStartOp starts a non-blocking DMA operation that transfers data from a source memref to a destination memref. The source and destination memref need not be of the same dimensionality, but need to have the same elemental type. The operands include the source and destination memref's each followed by its indices, size of the data transfer in terms of the number of elements (of the elemental type of the memref), a tag memref with its indices, and optionally at the end, a stride and a number_of_elements_per_stride arguments. The tag location is used by an AffineDmaWaitOp to check for completion. The indices of the source memref, destination memref, and the tag memref have the same restrictions as any affine.load/store. In particular, index for each memref dimension must be an affine expression of loop induction variables and symbols. The optional stride arguments should be of 'index' type, and specify a stride for the slower memory space (memory space with a lower memory space id), transferring chunks of number_of_elements_per_stride every stride until num_elements are transferred. Either both or no stride arguments should be specified. The value of 'num_elements' must be a multiple of 'number_of_elements_per_stride'.