https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90796

--- Comment #10 from rguenther at suse dot de <rguenther at suse dot de> ---
On August 6, 2019 5:36:49 PM GMT+02:00, "matz at gcc dot gnu.org"
<gcc-bugzi...@gcc.gnu.org> wrote:
>https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90796
>
>--- Comment #9 from Michael Matz <matz at gcc dot gnu.org> ---
>(In reply to rguent...@suse.de from comment #8)
>> >The fun thing is, there's a difference between these two loop nests:
>> >
>> >   for (i) for (j) a[i][0] = f(a[i+1][0]);
>> >   for (i) for (j) b[i][j] = f(a[i+1][j]);
>> 
>> What about
>> 
>>   B[i][j/2]...
>> 
>> ?
>
>That would be a problem as well, but luckily that's not an affine
>function of
>j,
>and hence has no analyzable access function, and so isn't fused for
>different
>reasons.
>
>> It's really surprising that only invariants are special here.
>
>It's the only affine functions that don't progress with each iteration.
> I
>think, at least :)

Hm. At least we analyze wrapping ones, but I guess 0, 1, 0, 1 would be caught
in another way..

Reply via email to