[mlir][NFC] Update textual references of `func` to `func.func` in IR/Interface testsThe special case parsing of `func` operations is being removed.
[mlir][tensor] Promote extract(from_elements(...)) to folding patternDifferential Revision: https://reviews.llvm.org/D123617
[MLIR] Replace std ops with arith dialect opsPrecursor: https://reviews.llvm.org/D110200Removed redundant ops from the standard dialect that were moved to the`arith` or `math` dialects.Renamed
[MLIR] Replace std ops with arith dialect opsPrecursor: https://reviews.llvm.org/D110200Removed redundant ops from the standard dialect that were moved to the`arith` or `math` dialects.Renamed all instances of operations in the codebase and in tests.Reviewed By: rriddle, jpienaarDifferential Revision: https://reviews.llvm.org/D110797
show more ...
Split `InferShapedTypeOpInterface` to create `ReifyRankedShapedTypeInterface`.The `reifyReturnTypeShapesPerResultDim` method supports shapeinference for rsults that are ranked types. These are use
Split `InferShapedTypeOpInterface` to create `ReifyRankedShapedTypeInterface`.The `reifyReturnTypeShapesPerResultDim` method supports shapeinference for rsults that are ranked types. These are used lower inthe codegeneration stack than its counter part `reifyReturnTypeShapes`which also supports unranked types, and is more suited for use higherup the compilation stack. To have separation of concerns, this methodis split into its own interface.See discussion : https://llvm.discourse.group/t/better-layering-for-infershapedtypeopinterface/3823Differential Revision: https://reviews.llvm.org/D106133
[mlir][tensor] Add tensor.dim operation* Split memref.dim into two operations: memref.dim and tensor.dim. Both ops have the same builder interface and op argument names, so that they can be used wi
[mlir][tensor] Add tensor.dim operation* Split memref.dim into two operations: memref.dim and tensor.dim. Both ops have the same builder interface and op argument names, so that they can be used with templates in patterns that apply to both tensors and memrefs (e.g., some patterns in Linalg).* Add constant materializer to TensorDialect (needed for folding in affine.apply etc.).* Remove some MemRefDialect dependencies, make some explicit.Differential Revision: https://reviews.llvm.org/D105165
[mlir] Move `memref.dim` canonicalization using `InferShapedTypeOpInterface` to a separate pass.Based on dicussion in[this](https://llvm.discourse.group/t/remove-canonicalizer-for-memref-dim-via-s
[mlir] Move `memref.dim` canonicalization using `InferShapedTypeOpInterface` to a separate pass.Based on dicussion in[this](https://llvm.discourse.group/t/remove-canonicalizer-for-memref-dim-via-shapedtypeopinterface/3641)thread the pattern to resolve the `memref.dim` of a value that is aresult of an operation that implements the`InferShapedTypeOpInterface` is moved to a separate pass instead ofrunning it as a canonicalization pass. This allows shape resolution tohappen when explicitly required, instead of automatically through acanonicalization.Differential Revision: https://reviews.llvm.org/D104321