[mlir][linalg] Fold ExtractSliceOps during tiling.
authorTobias Gysi <gysit@google.com>
Tue, 14 Sep 2021 11:43:08 +0000 (11:43 +0000)
committerTobias Gysi <gysit@google.com>
Tue, 14 Sep 2021 11:43:52 +0000 (11:43 +0000)
commit44a889778ceeb6bcb11702f5c940306905a3821e
tree8171b9c26a0e9371560f7aa21ce34a175ada8ef7
parent125e8ef10ba468d41b27bf9c7569c1a0520d1ab9
[mlir][linalg] Fold ExtractSliceOps during tiling.

Add the makeComposedExtractSliceOp method that creates an ExtractSliceOp and folds chains of ExtractSliceOps by computing the sum of their offsets and by multiplying their strides.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D109601
mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
mlir/include/mlir/Dialect/StandardOps/Utils/Utils.h
mlir/lib/Dialect/Linalg/Utils/Utils.cpp
mlir/lib/Dialect/StandardOps/Utils/Utils.cpp
mlir/test/Dialect/Linalg/tile-tensors.mlir