http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53239
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Status|UNCONFIRMED |NEW Last reconfirmed| |2012-05-04 Component|c++ |middle-end Summary|[4.7 Regression] -ftree-vrp |[4.7 Regression] VRP vs |breaks min() |named value return opt Ever Confirmed|0 |1 --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-05-04 22:02:59 UTC --- Actually the following is what is being removed: if (D.36751_45 < 0) goto <bb 6>; else goto <bb 7>; <bb 6>: <bb 7>: # D.36747_44 = PHI <<retval>_2(D)(6), &D.35100(5)> So it is not VRP really as it is doing something fine. It is just we say <retval>_2 is uninitialized.