[Bug tree-optimization/53802] Spurious 'may be used uninitialized' related to shifts
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jun 29 09:57:00 GMT 2012
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.
More information about the Gcc-bugs
mailing list