[Bug tree-optimization/21485] [4.6/4.7/4.8 Regression] missed load PRE, PRE makes i?86 suck

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jan 15 14:41:00 GMT 2013


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?).



More information about the Gcc-bugs mailing list