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



--- Comment #54 from Richard Biener <rguenth at gcc dot gnu.org> 2013-01-15 
14:40:39 UTC ---

(In reply to comment #48)

> I noticed PR 32120 is also involved.

> 

>   D.1716_7 = k_4 * 8;

>   D.1717_9 = array_8(D) + D.1716_7;

>   D.1718_10 = *D.1717_9;

>   k_11 = k_4 + 1;

>   D.1720_12 = k_11 * 8;

> 

> 

> The D.1720_12 should be converted to D.1716_7 + 8.



For this the straight-line strenght-reduction pass now does



  <bb 5>:

  _8 = i_6 * 8;

  _10 = array_9(D) + _8;

  _11 = *_10;

  i_12 = i_6 + 1;

  _13 = _8 + 8;

  _14 = array_9(D) + _13;

  _15 = *_14;



replacing i_12 * 8 with _8 + 8.  The association / CSE opportunity is

undetected (maybe it makes sense to schedule pass_strength_reduction

before the 2nd pass_reassoc?).

Reply via email to