[Mlir-commits] [mlir] 1f91fe3 - [mlir][memref] Add some missing interfaces to memref ops.
Ivan Butygin
llvmlistbot at llvm.org
Thu Jun 29 05:38:24 PDT 2023
Author: Ivan Butygin
Date: 2023-06-29T14:38:02+02:00
New Revision: 1f91fe3261c8bb763823dda600be865436636e40
URL: https://github.com/llvm/llvm-project/commit/1f91fe3261c8bb763823dda600be865436636e40
DIFF: https://github.com/llvm/llvm-project/commit/1f91fe3261c8bb763823dda600be865436636e40.diff
LOG: [mlir][memref] Add some missing interfaces to memref ops.
Add `ViewLikeOpInterface` to `ExtractStridedMetadataOp` as it returns its buffer as one of the results.
Add mem Read/Write attributes to atomic ops.
Differential Revision: https://reviews.llvm.org/D153647
Added:
Modified:
mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
Removed:
################################################################################
diff --git a/mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td b/mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
index d4c14e24f627e2..809f951be6025d 100644
--- a/mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
+++ b/mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
@@ -902,6 +902,7 @@ def MemRef_ExtractStridedMetadataOp : MemRef_Op<"extract_strided_metadata", [
DeclareOpInterfaceMethods<OpAsmOpInterface, ["getAsmResultNames"]>,
Pure,
SameVariadicResultSize,
+ ViewLikeOpInterface,
DeclareOpInterfaceMethods<InferTypeOpInterface>]> {
let summary = "Extracts a buffer base with offset and strides";
let description = [{
@@ -976,6 +977,8 @@ def MemRef_ExtractStridedMetadataOp : MemRef_Op<"extract_strided_metadata", [
SmallVector<OpFoldResult> getConstifiedMixedStrides();
/// Similar to `getConstifiedMixedSizes` but for the offset.
OpFoldResult getConstifiedMixedOffset();
+
+ ::mlir::Value getViewSource() { return getSource(); }
}];
let hasFolder = 1;
@@ -1016,7 +1019,7 @@ def GenericAtomicRMWOp : MemRef_Op<"generic_atomic_rmw", [
}];
let arguments = (ins
- MemRefOf<[AnySignlessInteger, AnyFloat]>:$memref,
+ Arg<MemRefOf<[AnySignlessInteger, AnyFloat]>, "the reference to read from and write to", [MemRead, MemWrite]>:$memref,
Variadic<Index>:$indices);
let results = (outs
@@ -2250,7 +2253,7 @@ def AtomicRMWOp : MemRef_Op<"atomic_rmw", [
let arguments = (ins
AtomicRMWKindAttr:$kind,
AnyTypeOf<[AnySignlessInteger, AnyFloat]>:$value,
- MemRefOf<[AnySignlessInteger, AnyFloat]>:$memref,
+ Arg<MemRefOf<[AnySignlessInteger, AnyFloat]>, "the reference to read from and write to", [MemRead, MemWrite]>:$memref,
Variadic<Index>:$indices);
let results = (outs AnyTypeOf<[AnySignlessInteger, AnyFloat]>:$result);
More information about the Mlir-commits
mailing list