[MLIR][Tensor] Add canonicalization patterns for `tensor.pack`
authorLorenzo Chelini <l.chelini@icloud.com>
Wed, 21 Dec 2022 09:18:14 +0000 (10:18 +0100)
committerLorenzo Chelini <l.chelini@icloud.com>
Thu, 12 Jan 2023 07:46:45 +0000 (08:46 +0100)
commit9a5092b358ce52dd7c7dc8927529dac22523b6a2
tree06f879afe7e71738f809ae1f6693a062f1fdd59e
parentd851a7937e7669cf1f04768ffb4593ba179fd32a
[MLIR][Tensor] Add canonicalization patterns for `tensor.pack`

- Fold an unpack(pack(x)) to x.

- Rewrite a `tensor.pack` to an `tensor.expand_shape` if only one
  dimension is packed.

Reviewed By: tyb0807, hanchung, mravishankar

Differential Revision: https://reviews.llvm.org/D141123
mlir/include/mlir/Dialect/Tensor/IR/Tensor.h
mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
mlir/test/Dialect/Tensor/canonicalize.mlir
mlir/test/Dialect/Tensor/simplify-tensor-pack.mlir [new file with mode: 0644]
mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp