aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorAndrzej WarzyƄski <andrzej.warzynski@arm.com>2024-09-19 19:53:11 +0100
committerGitHub <noreply@github.com>2024-09-19 19:53:11 +0100
commit315ba7740663208f8bc45a7e4f145dc1df79500c (patch)
treed937bd7abf8cc946f19f418a3dec27ff444f341b /clang/lib/Frontend/CompilerInvocation.cpp
parentd1335fb86466221b0499db5fc8f158f1f64d9542 (diff)
downloadllvm-315ba7740663208f8bc45a7e4f145dc1df79500c.zip
llvm-315ba7740663208f8bc45a7e4f145dc1df79500c.tar.gz
llvm-315ba7740663208f8bc45a7e4f145dc1df79500c.tar.bz2
[mlir][linalg] Vectorisation of tensor.extract - dynamic shapes (#100582)
This PR removes the assumption that reading from a dynamic tensor is always a gather load: ```mlir %extracted = tensor.extract %src[%c79, %3] : tensor<?x?xf32> ``` That assumption was originally introduced to simplify the implementation and to reduce the number of cases to consider. Now that the vectorisation of `tensor.extract` has been around for > 1 year and has been quite stable, we can safely relax it. This is a relatively small change - rather than using the parent linalg Op to infer the target output shape (not possible with dynamic shapes), the vectorizer will use the (previously constructed) output vector shape instead. As expected, the following test required updating (`vector.gather` -> `vector.transfer_read`): * @masked_dynamic_vectorize_nd_tensor_extract_with_affine_apply_contiguous Similar test for scalable vectors is also added.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions