https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109184
--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> --- Fails even with -O2 -floop-interchange -fno-move-loop-stores (otherwise we complicate the IL by applying store-motion to g_1731). (compute_affine_dependence ref_a: l_1930[k_33], stmt_a: _1 = l_1930[k_33]; ref_b: g_1731[_51], stmt_b: g_1731[_51] = _5; ) -> no dependence (compute_affine_dependence ref_a: l_1930[k_33], stmt_a: l_1930[k_33] = _2; ref_b: g_1731[_51], stmt_b: _4 = g_1731[_51]; ) -> no dependence (compute_affine_dependence ref_a: l_1930[k_33], stmt_a: l_1930[k_33] = _2; ref_b: g_1731[_51], stmt_b: g_1731[_51] = _5; ) -> no dependence maybe I'm missing something but we seem to fail to honor dependences from SSA edges? <bb 3> [local count: 894749066]: # k_33 = PHI <k_24(11), 0(5)> # ivtmp_41 = PHI <ivtmp_40(11), 5(5)> _1 = l_1930[k_33]; _2 = _1 + 18446744073709551615; l_1930[k_33] = _2; _4 = g_1731[_51]; _38 = _2 & _4; _5 = _38 & 38; g_1731[_51] = _5; k_24 = k_33 + 1; ivtmp_40 = ivtmp_41 - 1; if (ivtmp_40 != 0) Of course DDR_ARE_DEPENDENT (ddr) == chrec_known just tells us there's no memory dependece. As said, maybe I'm missing something ...