https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94125
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |amker at gcc dot gnu.org
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Hm, it computes a dependence distance of two and in the end sorts partitions
in the wrong order from a bogus partition dependence edge. The odd thing is
that for
for (int c = 0; c <= 2; c++)
{
b = f;
*g = k[c + 3];
k[c + 1] = 0;
}
we compute a distance of minus two (two + DDR_REVERSED_P) but in both
cases we need to use the same partition ordering, memset after the
partition containing the k[c+3] load but the partition dependence code
from the DDRs appearant different direction handles both cases differently.
Something is missing here. Not sure what - Bin, any idea?