diff options
author | vaibhav <73255802+mrdaybird@users.noreply.github.com> | 2025-05-08 01:32:21 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-07 21:02:21 +0100 |
commit | 384a5b00a7c8fffa72f7fe7021863d00da842a19 (patch) | |
tree | 7157ec403da61711578cbb951c1f8be44150975c /clang/lib/Serialization/ModuleManager.cpp | |
parent | 1a7cd92c8607bbad5c212f474a1e46043a8016cd (diff) | |
download | llvm-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