PTR-PLUS merge into the mainline

Roman Zippel zippel@linux-m68k.org
Wed Jul 4 23:24:00 GMT 2007


Hi,

On Fri, 29 Jun 2007, Andrew Pinski wrote:

> > I'm not sure that's related, what's happening in my example is that the
> > call to fold_plusminus_mult_expr() defeats the optimization attempted in
> > pointer_int_sum(). If I use the patch below to restrict the condition, my
> > problem is fixed, but PR32120 is unchanged.
> > Actually if I compare the final_cleanup dump of PR32120 with the output
> > from gcc 4.1, they are basically identical.
> 
> The code to fold_binary was added by:
> r107218 | rguenth | 2005-11-19 03:29:10 -0800 (Sat, 19 Nov 2005) | 9 lines
> 
> 2005-11-19  Richard Guenther  <rguenther@suse.de>
> 
>        PR middle-end/23294
>        * fold-const.c (fold_plusminus_mult_expr): New function.
>        (fold_binary): Use to canonicalize PLUS_EXPR and MINUS_EXPR
>        cases, remove now unnecessary code.
> 
>        * gcc.dg/tree-ssa/pr23294.c: New testcase.
> 
> And it looks like it was doing this transformation this way on purpose.
> Now as I mentioned before the way this should be done is using PRE/FRE
> to catch the redudent multiplication.

I have to agree, IMHO it looks this optimization is done to early.
Richard, it would be great if you comment on this.
Thanks.

bye, Roman



More information about the Gcc mailing list