[Bug tree-optimization/51246] [4.7 Regression] ICE in replace_ref_with, at tree-predcom.c:1309

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Nov 24 09:23:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51246

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-11-24 08:25:40 UTC ---
Created attachment 25907
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25907
gcc47-pr51246.patch

I wonder whether we can't just adjust the assert here to also allow clobber on
the rhs.
Then
<bb 2>:

<bb 3>:
  c.0_1 = c;
  a = c.0_1;
  b = &c;
  c ={v} {CLOBBER};

<bb 4>:
  goto <bb 3>;
is transformed into:
<bb 2>:
  c.5_10 = c;

<bb 3>:
  # c_lsm0.4_8 = PHI <c.5_10(2), c_lsm0.4_9(4)>
  c.0_1 = c_lsm0.4_8;
  a = c.0_1;
  b = &c;
  c ={v} {CLOBBER};
  c_lsm0.4_9 ={v} {CLOBBER};

<bb 4>:
  goto <bb 3>;
That makes it clear that we use uninitialized variable in the next iteration
too.



More information about the Gcc-bugs mailing list