https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113734
--- Comment #21 from Richard Biener <rguenth at gcc dot gnu.org> --- loop->nb_iterations_upper_bound exactly is an upper bound on the number of latch executions, so maybe I'm missing the point here. When we update it it as well has to reflect an upper bound on that, whether the last exit (the one before the latch) is the IV exit or a vectorized early exit. But yes, if the last exit is an early one that last iteration might be partial (so we drop the -1), but that's what we already do?