[llvm] [SLP]Initial non-power-of-2 support (but still whole register) for reductions (PR #112361)

via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 5 05:47:24 PST 2024


bgra8 wrote:

@alexey-bataev we (at google) bisected a compilation breakage (infinite loop in `clang`) to this revision.

Here's a reproducer:

```c++
float *a;
float b, c, d, e, f, g;
void h() {
  g += 0.0f * a[21];
  g += 0.0f * a[7];
  f += 0.0f * a[2];
  g += 0.0f * a[17];
  f += 0.0f * a[22];
  f += c * a[23];
  g += d * b;
  f += e * a[24];
  f += d * a[20];
  g += e * a[25];
  g += f;
}
```

Compilation command:
```bash
$ clang -target riscv64-unknown-linux \
  -march=rv64gcv1p0_zfh_zvfh \
  -std=c99 \
  -O2 \
  -c repro.i \
  -o /tmp/out
```

The compilation takes under 0.1s with the previous `clang` and doesn't finish at this revision.

Could you please revert to unblock us?

https://github.com/llvm/llvm-project/pull/112361


More information about the llvm-commits mailing list