[all-commits] [llvm/llvm-project] cfe043: [mlir][linalg] Restrict scalable vectorisation (#9...
Andrzej Warzyński via All-commits
all-commits at lists.llvm.org
Fri Jul 19 00:05:32 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: cfe043cf99f76980ff91dc1cd4026e852556fba1
https://github.com/llvm/llvm-project/commit/cfe043cf99f76980ff91dc1cd4026e852556fba1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-07-19 (Fri, 19 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
Log Message:
-----------
[mlir][linalg] Restrict scalable vectorisation (#98639)
Updates `vectorizeScalableVectorPrecondition` so that scalable
vectorisation is only applied in well understood and tested scenarios.
It's unlikely that we would ever want an arbitrary dimension to be
scalable. While the Linalg vectoriser should be flexible enough to
handle all possibilities:
* in more "exotic" cases, we are likely to struggle with lowerings
further down the compilation stack,
* it would be impractical given the limitations of LLVM (which usually
reflect the limitations of actual hardware) - e.g. no support for
"scalable" arrays of scalable or fixed width vectors (*).
Ultimately, the goal of this patch is to better document what's
currently supported. While this PR adds some new restrictions, no
existing tests are affected.
(*) At MLIR vector level that would correspond to e.g.
`vector<[4]x8xf32>`.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list