[mlir][Linalg] Allow folding to rank-zero tensor when using rank-reducing subtensors.
authorMaheshRavishankar <ravishankarm@google.com>
Fri, 7 May 2021 00:17:29 +0000 (17:17 -0700)
committerMaheshRavishankar <ravishankarm@google.com>
Fri, 7 May 2021 02:03:55 +0000 (19:03 -0700)
commit05a89312d812bb5dcec6deca8f1e28a198ce1167
tree40fb9dade2057c44f3979cda9e4db0e24463e8aa
parent87a6325fbe4315f3f24555797f216e96539a9397
[mlir][Linalg] Allow folding to rank-zero tensor when using rank-reducing subtensors.

The pattern to convert subtensor ops to their rank-reduced versions
(by dropping unit-dims in the result) can also convert to a zero-rank
tensor. Handle that case.
This also fixes a OOB access bug in the existing pattern for such
cases.

Differential Revision: https://reviews.llvm.org/D101949
mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir