https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111640
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Induction variable (int) var_45_lsm.67_240 + -2147483643 + -2147483643 * iteration does not wrap in statement _153 = var_45_lsm.67_226 + -2147483643; in loop 1. Statement _153 = var_45_lsm.67_226 + -2147483643; is executed at most 1 (bounded by 1) + 1 times in loop 1. Reducing loop iteration estimate by 1; undefined statement must be executed at the last iteration. /app/example.cpp:20:27: note: Not unswitching, loop is not expected to iterate So ....