[llvm] [SLP]Initial non-power-of-2 support (but still whole register) for reductions (PR #112361)
Alexey Bataev via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 5 07:06:48 PST 2024
alexey-bataev 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:
>
> ```shell
> $ 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?
Must be fixed in 0c18def2c18c4b99a5f448496461b60f576992fa
https://github.com/llvm/llvm-project/pull/112361
More information about the llvm-commits
mailing list