http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53802
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |diagnostic Status|UNCONFIRMED |NEW Last reconfirmed| |2012-06-29 Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-06-29 09:57:17 UTC --- Confirmed. Reason is a missed "jump-threading" (peeling off one iteration): <bb 2>: <bb 3>: # number_59 = PHI <number_7(6), 4294967295(2)> # buf$2_60 = PHI <buf$2_44(6), buf$2_51(D)(2)> # buf$3_61 = PHI <buf$3_2(6), buf$3_52(D)(2)> # buf$4_64 = PHI <buf$4_6(6), buf$4_53(D)(2)> # buf$1_65 = PHI <buf$1_46(6), buf$1_50(D)(2)> if (number_59 == 0) goto <bb 5>; else goto <bb 4>; <bb 4>: D.2247_18 = number_59 >> 24; buf$1_19 = (unsigned char) D.2247_18; D.2245_20 = number_59 >> 16; buf$2_21 = (unsigned char) D.2245_20; D.2243_22 = number_59 >> 8; buf$3_23 = (unsigned char) D.2243_22; buf$4_24 = (unsigned char) number_59; <bb 5>: # buf$1_46 = PHI <buf$1_19(4), buf$1_65(3)> # buf$2_44 = PHI <buf$2_21(4), buf$2_60(3)> # buf$3_2 = PHI <buf$3_23(4), buf$3_61(3)> # buf$4_6 = PHI <buf$4_24(4), buf$4_64(3)> D.2257_29 = (unsigned int) buf$1_46; so we decide there is a path from entry to BB 5 where buf$1_46 is not initialized.