[mlir][Vector] Refactor vector distribution and fix an issue related to non-homogenou...
authorNicolas Vasilache <nicolas.vasilache@gmail.com>
Thu, 1 Sep 2022 12:47:32 +0000 (05:47 -0700)
committerNicolas Vasilache <nicolas.vasilache@gmail.com>
Fri, 2 Sep 2022 09:18:26 +0000 (02:18 -0700)
commitfa8a10a1fd0dfd6e54822a033fb8b0900bd19c6d
treeaeb0478da1190c2a3bb171efa53c4fd8635a57b3
parent0816b629c9da5aa8885c4cb3fbbf5c905d37f0ee
[mlir][Vector] Refactor vector distribution and fix an issue related to non-homogenous transfer indices.

Running: `mlir-opt -test-vector-warp-distribute=rewrite-warp-ops-to-scf-if -canonicalize -verify-each=0`.

Prior to this revision, IR resembling the following would be produced:
```
  %4 = "vector.load"(%3, %arg0) : (memref<1x32xf32, 3>, index) -> vector<1x1xf32>
```
This fails verification since it needs 2 indices to load but only 1 is provided.

Differential Revision: https://reviews.llvm.org/D133106
mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
mlir/test/Dialect/Vector/vector-warp-distribute.mlir