https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95045
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- OK, this one is an interesting one (might be also latent before the rewrite). I'll deal with it separately. The issue is around the inner loop having multiple exits, one being also the exit from the outer loop and edge inserts on that edge getting mis-ordered (we commit them only after processing all inserts).