------- Comment #6 from rguenth at gcc dot gnu dot org 2008-03-15 11:33 ------- In fact it's completely wrong.
# __b_5 = PHI <&D.12083(48), __b_342(22)>; <L18>:; # VUSE <r_946>; # VUSE <r_284>; # VUSE <r_6>; # VUSE <r_43>; D.12120_344 = *__b_5; should be # __b_5 = PHI <&D.12083(48), __b_342(22)>; <L18>:; # VUSE <SFT.738_136>; # VUSE <SFT.739_451>; # VUSE <SFT.740_367>; # VUSE <D.12083_947>; D.12120_344 = *__b_5; This looks like a const vs. non-const issue (which I vaguely remember). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35585