This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PTR-PLUS merge into the mainline


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

bye, Roman

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]