https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78574
--- Comment #5 from amker at gcc dot gnu.org --- Well, it is iv (maybe biv) in this case: _24 = j_11 + 1; is in irreducible sub-loop, but _24 is a loop invariant wrto the sub-loop. But we don't have such information in GCC. Thus mark_bivs skips it at below code: /* If the increment is in the subloop, ignore it. */ incr_bb = gimple_bb (SSA_NAME_DEF_STMT (var)); if (incr_bb->loop_father != data->current_loop || (incr_bb->flags & BB_IRREDUCIBLE_LOOP)) continue;