9 #ifndef MLIR_DIALECT_MEMREF_IR_MEMREF_H_
10 #define MLIR_DIALECT_MEMREF_IR_MEMREF_H_
33 enum class AtomicRMWKind : uint64_t;
34 class AtomicRMWKindAttr;
40 raw_ostream &operator<<(raw_ostream &os, const Range &range);
45 SmallVector<Range, 8> getOrCreateRanges(OffsetSizeAndStrideOpInterface op,
46 OpBuilder &b, Location loc);
53 LogicalResult foldMemRefCast(Operation *op, Value inner = nullptr);
57 Type getTensorTypeFromMemRefType(Type type);
62 std::optional<Operation *> findDealloc(Value allocValue);
65 OpFoldResult getMixedSize(OpBuilder &builder, Location loc, Value value,
69 SmallVector<OpFoldResult> getMixedSizes(OpBuilder &builder, Location loc,
75 Value createCanonicalRankReducingSubViewOp(OpBuilder &b, Location loc,
77 ArrayRef<int64_t> targetShape);
85 #include "mlir/Dialect/MemRef/IR/MemRefOpsDialect.h.inc"
91 #define GET_OP_CLASSES
92 #include "mlir/Dialect/MemRef/IR/MemRefOps.h.inc"
Include the generated interface declarations.