https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123014
--- Comment #4 from Tamar Christina <tnfchris at gcc dot gnu.org> --- Ok, so the issue is that after the edge is split to maintain LOOPS_HAVE_PREHEADERS we end up filling in the adjustment values inside the new pre-header vs the guard block as we did before. This is great.. but if the adjusted value also needs to be used in the other branch of the guard block you get this ICE. I've rolled up a cleaned solution to PR122959 and a fix for this bug and have tested arc and nvptx. Waiting for other regtests to finish and will push.
