9 #ifndef MLIR_DIALECT_MEMREF_IR_MEMREF_H_
10 #define MLIR_DIALECT_MEMREF_IR_MEMREF_H_
32 enum class AtomicRMWKind : uint64_t;
33 class AtomicRMWKindAttr;
39 raw_ostream &operator<<(raw_ostream &os, const Range &range);
44 SmallVector<Range, 8> getOrCreateRanges(OffsetSizeAndStrideOpInterface op,
45 OpBuilder &b, Location loc);
52 LogicalResult foldMemRefCast(Operation *op, Value inner = nullptr);
56 Type getTensorTypeFromMemRefType(Type type);
61 std::optional<Operation *> findDealloc(Value allocValue);
64 OpFoldResult getMixedSize(OpBuilder &builder, Location loc, Value value,
68 SmallVector<OpFoldResult> getMixedSizes(OpBuilder &builder, Location loc,
74 Value createCanonicalRankReducingSubViewOp(OpBuilder &b, Location loc,
76 ArrayRef<int64_t> targetShape);
84 #include "mlir/Dialect/MemRef/IR/MemRefOpsDialect.h.inc"
90 #define GET_OP_CLASSES
91 #include "mlir/Dialect/MemRef/IR/MemRefOps.h.inc"
Include the generated interface declarations.