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?