[MLIR][Affine][VectorOps] Utility to vectorize loop nest using strategy
authorDiego Caballero <diego.caballero@intel.com>
Mon, 21 Sep 2020 22:30:02 +0000 (15:30 -0700)
committerDiego Caballero <diego.caballero@intel.com>
Mon, 21 Sep 2020 23:28:28 +0000 (16:28 -0700)
commit14d0735d3453fb6403da916d7aee6a9f25af4147
tree4cf1e14240b65171834e3c4e997fef9bb5433033
parent1747f7776403626b23ef0389264643fe4d6bec17
[MLIR][Affine][VectorOps] Utility to vectorize loop nest using strategy

This patch adds a utility based on SuperVectorizer to vectorize an
affine loop nest using a given vectorization strategy. This strategy allows
targeting specific loops for vectorization instead of relying of the
SuperVectorizer analysis to choose the right loops to vectorize.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D85869
mlir/include/mlir/Dialect/Affine/Utils.h
mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
mlir/test/Dialect/Affine/SuperVectorize/vectorize_2d.mlir