[mlir][Linalg] Refactor conv vectorization to decouple memory from vector ops.
authorNicolas Vasilache <nicolas.vasilache@gmail.com>
Fri, 29 Oct 2021 10:17:24 +0000 (10:17 +0000)
committerNicolas Vasilache <nicolas.vasilache@gmail.com>
Wed, 3 Nov 2021 08:03:40 +0000 (08:03 +0000)
commit7b09f157e1748597858bbeb392c6c95debb7ba0f
treeb28c8534025a45983cd1b95a806989b1259d77aa
parentc977564fc2bad94022b3931365c549c8477831d9
[mlir][Linalg] Refactor conv vectorization to decouple memory from vector ops.

This refactoring prepares conv1d vectorization for a future integration into
the generic codegen path.
Once transfer_read / transfer_write vectorization also supports sliding windows,
the special pattern for conv can disappear.
This will also likely need a vector.conv operation.

Differential Revision: https://reviews.llvm.org/D112797
mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
mlir/test/Dialect/Linalg/vectorize-convolution.mlir