diff options
author | Andrzej WarzyĆski <andrzej.warzynski@arm.com> | 2024-09-26 16:18:46 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-26 16:18:46 +0100 |
commit | 9c48a04328f1dfa739985f64b33f20b67e085277 (patch) | |
tree | c3eaba3b46a49d84b139e585a2eb483c571db3cd /llvm/lib/CodeGen/MachineBlockPlacement.cpp | |
parent | 6d114944142ae5a1d0387fe40ffa9351b6f642aa (diff) | |
download | llvm-9c48a04328f1dfa739985f64b33f20b67e085277.zip llvm-9c48a04328f1dfa739985f64b33f20b67e085277.tar.gz llvm-9c48a04328f1dfa739985f64b33f20b67e085277.tar.bz2 |
[mlir][tensor] Refine the semantics of `createPadHighOp` (#109667)
Refine `createPadHighOp` so that the output tensor is required to be
statically shaped. This is to prevent the current behaviour, which is
incorrect:
> // If `type` has dynamic dimensions the padding width is set to zero.
The actual padding width should be set to: `%new_dim - %old_dim`, where
%new_dim` and `%old_dim` are defined via e.g. `tensor.dim` Op applied to
output and input tensors, respectively.
This PR is an attempt to clarify the semantics surrounding dynamic
shapes in preparation for adding support for scalable vectors to the
pack/unpack logic in Tensor/Linalg (dynamic shapes is what we use to
model scalable (*) sizes at the Tensor/MemRef level).
(*) Scalable as in Arm's Scalable Vector Extension (SVE)
Diffstat (limited to 'llvm/lib/CodeGen/MachineBlockPlacement.cpp')
0 files changed, 0 insertions, 0 deletions