[Mlir-commits] [mlir] [mlir][vector] Make the in_bounds attribute mandatory (PR #97049)
Andrzej WarzyĆski
llvmlistbot at llvm.org
Fri Jul 12 01:12:36 PDT 2024
================
@@ -1401,16 +1401,19 @@ def Vector_TransferReadOp :
permutation or broadcasting. Elements whose corresponding mask element is
`0` are masked out and replaced with `padding`.
- An optional boolean array attribute `in_bounds` specifies for every vector
- dimension if the transfer is guaranteed to be within the source bounds. If
- specified, the `in_bounds` array length has to be equal to the vector rank.
- If set to "false", accesses (including the starting point) may run
+ For every vector dimension, the boolean array attribute `in_bounds`
+ specifies if the transfer is guaranteed to be within the source bounds. If
+ set to "false", accesses (including the starting point) may run
out-of-bounds along the respective vector dimension as the index increases.
- Broadcast dimensions must always be in-bounds. In absence of the attribute,
- accesses along all vector dimensions (except for broadcasts) may run
- out-of-bounds. A `vector.transfer_read` can be lowered to a simple load if
- all dimensions are specified to be within bounds and no `mask` was
- specified. Note that non-vector dimensions *must* always be in-bounds.
+ Non-vector and broadcast dimensions *must* always be in-bounds. The
----------------
banach-space wrote:
I also don't know :) That note was introduced by @matthias-springer in https://reviews.llvm.org/D155719. Matthias, do you remember what cases that was referring to?
https://github.com/llvm/llvm-project/pull/97049
More information about the Mlir-commits
mailing list