http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56705
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 2013-03-24 08:15:48 UTC --- Looks like a missing jump threading which is causing this warning to show up: <bb 24>: # _48 = PHI <0(28), prephitmp_80(31), 0(23)> # value_89 = PHI <value_84(D)(28), value_93(31), value_84(D)(23)> <bb 25>: # _16 = PHI <prephitmp_107(30), _48(24)> # value_85 = PHI <value_45(30), value_89(24)> if (_16 != 0) goto <bb 27>; else goto <bb 26>; <bb 26>: <bb 27>: # _1 = PHI <value_85(25), 0B(26)> return _1;