diff options
author | Andrzej WarzyĆski <andrzej.warzynski@arm.com> | 2024-10-22 20:11:05 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-22 20:11:05 -0700 |
commit | 2a2520082882d857b22f16e9efa8f794d328f3ee (patch) | |
tree | 637da692d57c3421b27e315f0faf7578c1699871 /llvm/lib/CodeGen/CodeGen.cpp | |
parent | 1cbc015551e1b2445cb215a74d1eccab80041998 (diff) | |
download | llvm-2a2520082882d857b22f16e9efa8f794d328f3ee.zip llvm-2a2520082882d857b22f16e9efa8f794d328f3ee.tar.gz llvm-2a2520082882d857b22f16e9efa8f794d328f3ee.tar.bz2 |
[mlir][tensor] Restrict the verifier for tensor.pack/tensor.unpack (#113108)
Restricts the verifier for tensor.pack and tensor.unpack Ops so that the
following is no longer allowed:
```mlir
%c8 = arith.constant 8 : index
%0 = tensor.pack %input inner_dims_pos = [0, 1] inner_tiles = [8, %c8] into %output : tensor<?x?xf32> -> tensor<?x?x8x8xf32>
```
Specifically, in line with other Tensor Ops, require:
* a dynamic dimensions for each (dynamic) SSA value,
* a static dimension for each static size (attribute).
In the example above, a static dimension (8) is mixed with a dynamic
size (%c8).
Note that this is mostly deleting existing code - that's because this
change simplifies the logic in verifier.
For more context:
* https://discourse.llvm.org/t/tensor-ops-with-dynamic-sizes-which-behaviour-is-more-correct
Diffstat (limited to 'llvm/lib/CodeGen/CodeGen.cpp')
0 files changed, 0 insertions, 0 deletions