[mlir] Turn Linalg to LLVM into a partial conversion
authorAlex Zinenko <zinenko@google.com>
Thu, 4 Feb 2021 10:53:10 +0000 (11:53 +0100)
committerAlex Zinenko <zinenko@google.com>
Fri, 5 Feb 2021 13:31:19 +0000 (14:31 +0100)
commit1b101038dc6603c04fd56c9511a0ef7e8e9474e0
tree9b306c60c09893bd40856b6e2195730246b8e83f
parentd1978fa4bf0d7da0b3cd88879e9411467edcb01f
[mlir] Turn Linalg to LLVM into a partial conversion

Historically, Linalg To LLVM conversion subsumed numerous other conversions,
including (affine) loop lowerings to CFG and conversions from the Standard and
Vector dialects to the LLVM dialect. This was due to the insufficient support
for partial conversions in the infrastructure that essentially required
conversions that involve type change (in this case, !linalg.range to
!llvm.struct) to be performed in a single conversion sweep. This is no longer
the case so remove the subsumed conversions and run them as separate passes
when necessary.

Depends On D95317

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D96008
21 files changed:
mlir/integration_test/Dialect/Linalg/CPU/matmul-vs-matvec.mlir
mlir/integration_test/Dialect/Linalg/CPU/rank-reducing-subview.mlir
mlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-call.mlir
mlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-ncw-call.mlir
mlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-nwc-call.mlir
mlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-call.mlir
mlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-nchw-call.mlir
mlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-nhwc-call.mlir
mlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-call.mlir
mlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-ncdhw-call.mlir
mlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-ndhwc-call.mlir
mlir/integration_test/Dialect/Linalg/CPU/test-subtensor-insert-multiple-uses.mlir
mlir/integration_test/Dialect/Linalg/CPU/test-subtensor-insert.mlir
mlir/integration_test/Dialect/Linalg/CPU/test-tensor-matmul.mlir
mlir/integration_test/Sparse/CPU/frostt-example.mlir
mlir/integration_test/Sparse/CPU/matrix-market-example.mlir
mlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
mlir/test/Dialect/Linalg/llvm.mlir
mlir/test/mlir-cpu-runner/async.mlir
mlir/test/mlir-cpu-runner/unranked_memref.mlir
mlir/test/mlir-cpu-runner/utils.mlir