Unroll and jam can sometimes leave redundancies. E.g. for:
for (int j = 0; j < 100; ++j)
for (int i = 0; i < 100; ++i)
x[i] += y[i] * z[j][i];
the new loop will do the equivalent of:
for (int j = 0; j < 100; j += 2)
for (int i = 0; i < 100; ++i)
{
x[i] += y[i] *
On July 20, 2021 5:56:35 PM GMT+02:00, Richard Sandiford via Gcc-patches
wrote:
>Unroll and jam can sometimes leave redundancies. E.g. for:
>
> for (int j = 0; j < 100; ++j)
>for (int i = 0; i < 100; ++i)
> x[i] += y[i] * z[j][i];
>
>the new loop will do the equivalent of:
>
> for (in