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



Richard Biener <rguenth at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

             Status|UNCONFIRMED                 |NEW

   Last reconfirmed|                            |2012-12-05

     Ever Confirmed|0                           |1



--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> 2012-12-05 
09:45:24 UTC ---

On trunk we would distribute a variant with a[i] = c[i] ... if the partitions

would not be fused because of having similar memory accesses.  With the

reduction in place we only form a single useful partition because of the

dependences.



Thus, confirmed (we can build the RDG now), for



  _5 = a[i_19];

  _6 = c[i_19];

  _7 = d[i_19];

  _8 = _6 * _7;

  _9 = _5 + _8;

  a[i_19] = _9;

  _11 = _7 + _9;

  _12 = i_19 + -1;

  _13 = b[_12];

  _14 = _11 + _13;

  b[i_19] = _14;



we'd have to use a[i_19] in the loop storing to b but instead we

only try re-compute it via retaining



  _5 = a[i_19];

  _6 = c[i_19];

  _7 = d[i_19];

  _8 = _6 * _7;

  _9 = _5 + _8;



which of course does not work (a[i_19] is not available).

Reply via email to