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.

Reply via email to