9 #ifndef MLIR_DIALECT_MEMREF_IR_MEMREF_H_
10 #define MLIR_DIALECT_MEMREF_IR_MEMREF_H_
31 enum class AtomicRMWKind : uint64_t;
32 class AtomicRMWKindAttr;
38 raw_ostream &operator<<(raw_ostream &os, const Range &range);
43 SmallVector<Range, 8> getOrCreateRanges(OffsetSizeAndStrideOpInterface op,
44 OpBuilder &b, Location loc);
51 LogicalResult foldMemRefCast(Operation *op, Value inner = nullptr);
55 Type getTensorTypeFromMemRefType(Type type);
60 std::optional<Operation *> findDealloc(Value allocValue);
63 OpFoldResult getMixedSize(OpBuilder &builder, Location loc, Value value,
67 SmallVector<OpFoldResult> getMixedSizes(OpBuilder &builder, Location loc,
73 Value createCanonicalRankReducingSubViewOp(OpBuilder &b, Location loc,
75 ArrayRef<int64_t> targetShape);
83 #include "mlir/Dialect/MemRef/IR/MemRefOpsDialect.h.inc"
89 #define GET_OP_CLASSES
90 #include "mlir/Dialect/MemRef/IR/MemRefOps.h.inc"
Include the generated interface declarations.