[mlir][tensor] Support more cases in MergeConsecutiveExtractSlice
authorLei Zhang <antiagainst@google.com>
Wed, 21 Sep 2022 00:00:49 +0000 (20:00 -0400)
committerLei Zhang <antiagainst@google.com>
Wed, 21 Sep 2022 00:16:03 +0000 (20:16 -0400)
commit5d4603a02d0c3e0106b10d245322b1d2072c0c3d
tree50f106571f86005ffedb53f16fb580d047e0444c
parent06010fd1be3d816fdbbb53f75a26902c02b6f111
[mlir][tensor] Support more cases in MergeConsecutiveExtractSlice

This commit adds utility functions to perform general merging of
OffsetSizeAndStrideOpInterface by supporting producer rank
reducing and non-unit strides.

With it we can extend MergeConsecutiveExtractSlice to support
more cases.

Co-authored-by: Mahesh Ravishankar <ravishankarm@google.com>
Reviewed By: ThomasRaoux

Differential Revision: https://reviews.llvm.org/D134294
mlir/include/mlir/Dialect/Tensor/Transforms/TransformUtils.h
mlir/lib/Dialect/Tensor/Transforms/MergeConsecutiveInsertExtractSlicePatterns.cpp
mlir/test/Dialect/Tensor/fold-consecutive-insert-extract-slice.mlir