aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Serialization/ModuleManager.cpp
diff options
context:
space:
mode:
authorvaibhav <73255802+mrdaybird@users.noreply.github.com>2025-05-08 01:32:21 +0530
committerGitHub <noreply@github.com>2025-05-07 21:02:21 +0100
commit384a5b00a7c8fffa72f7fe7021863d00da842a19 (patch)
tree7157ec403da61711578cbb951c1f8be44150975c /clang/lib/Serialization/ModuleManager.cpp
parent1a7cd92c8607bbad5c212f474a1e46043a8016cd (diff)
downloadllvm-384a5b00a7c8fffa72f7fe7021863d00da842a19.zip
llvm-384a5b00a7c8fffa72f7fe7021863d00da842a19.tar.gz
llvm-384a5b00a7c8fffa72f7fe7021863d00da842a19.tar.bz2
[LAA] Use MaxStride instead of CommonStride to calculate MaxVF (#98142)
We bail out from MaxVF calculation if the strides are not the same. Instead, we are dependent on runtime checks, though not yet implemented. We could instead use the MaxStride to conservatively use an upper bound. This handles cases like the following: ```c #define LEN 256 * 256 float a[LEN]; void gather() { for (int i = 0; i < LEN - 1024 - 255; i++) { #pragma clang loop interleave(disable) #pragma clang loop unroll(disable) for (int j = 0; j < 256; j++) a[i + j + 1024] += a[j * 4 + i]; } } ``` --------- Co-authored-by: Florian Hahn <flo@fhahn.com>
Diffstat (limited to 'clang/lib/Serialization/ModuleManager.cpp')
0 files changed, 0 insertions, 0 deletions