On 18/04/2012, at 9:17 PM, Richard Guenther wrote:

> On Wed, Apr 18, 2012 at 4:15 AM, Maxim Kuvyrkov <ma...@codesourcery.com> 
> wrote:
>> Steven,
>> J"orn,
>> 
>> I am looking into fixing performance regression on EEMBC's bitmnp01, and a 
>> version of your combined patch attached to PR38785 still works very well.  
>> Would you mind me getting it through upstream review, or are there any 
>> issues with contributing this patch to GCC mainline?
>> 
>> We (CodeSourcery/Mentor) were carrying this patch in our toolchains since 
>> GCC 4.4, and it didn't show any performance or correctness problems on x86, 
>> ARM, MIPS, and other architectures.  It also reliably fixes bitmnp01 
>> regression, which is still present in current mainline.
>> 
>> I have tested this patch on recent mainline on i686-linux-gnu with no 
>> regressions.  Unless I hear from you to the contrary, I will push this patch 
>> for upstream review and, hopefully, get it checked in.
>> 
>> Previous discussion of this patch is at 
>> http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00250.html
> 
> The addition of -ftree-pre-partial-partial is ok if you change its name to
> -ftree-partial-pre and add documentation to invoke.texi.

OK.  Gerald, does the patch for gcc-4.8/changes.html look OK?

> 
> +             /* Assuming the expression is 50% anticipatable, we have
> +                to multiply the number of insertions needed by two for a cost
> +                comparison.  */
> 
> why assume 50% anticipatibility if you can compute the exact
> anticipatibility?

Do you mean partial anticipatibility as in the updated patch?  To compute exact 
anticipatibility we would need to traverse the bottom part of CFG, to get the 
numbers right.

> 
> +             if (!optimize_function_for_speed_p (cfun)
> 
> please look at how I changed regular PRE to look at whether we want to
> optimize the path which has the redundancy for speed via
> optimize_edge_for_speed_p.  The same surgerly should be applied to
> PPRE.

OK.  In the updated patch we require at least one of the successors the 
partially anticipates the expression to be on the speed path.

Any other comments?

Thank you,

--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics

Attachment: pr38785-rel-note.patch
Description: Binary data

Attachment: pr38785.ChangeLog
Description: Binary data

Attachment: pr38785.patch
Description: Binary data

Reply via email to