[mlir][Linalg] Miscalleneous enhancements to cover more fusion cases.
authorMaheshRavishankar <ravishankarm@google.com>
Mon, 26 Oct 2020 23:16:40 +0000 (16:16 -0700)
committerMaheshRavishankar <ravishankarm@google.com>
Mon, 26 Oct 2020 23:17:24 +0000 (16:17 -0700)
commit78f37b74da60ccdca200e457df195d58d76b3b8f
tree5b340a0bf720d96b301f58621229160b935636c2
parent0b2f4cdf2bd4e48974099cd441afaabc18ead227
[mlir][Linalg] Miscalleneous enhancements to cover more fusion cases.

Adds support for
- Dropping unit dimension loops for indexed_generic ops.
- Folding consecutive folding (or expanding) reshapes when the result
  (or src) is a scalar.
- Fixes to indexed_generic -> generic fusion when zero-dim tensors are
  involved.

Differential Revision: https://reviews.llvm.org/D90118
mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
mlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
mlir/test/Dialect/Linalg/canonicalize.mlir
mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
mlir/test/Dialect/Linalg/fusion-tensor.mlir