http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53695
--- Comment #16 from Steven Bosscher <steven at gcc dot gnu.org> 2012-08-23
08:53:04 UTC ---
(In reply to comment #15)
> Makes me wonder why the loop isn't recognized in the original test case...
Ah, maybe because bb3 has an abnormal predecessor and is therefore ignored as a
potential loop header?
/* If we have an abnormal predecessor, do not consider the
loop (not worth the problems). */
if (bb_has_abnormal_pred (header))
continue;
Which brings things back to my question why this kind of loop header is
rejected! :-)