Re: [Patch ifcvt] Add a new parameter to limit if-conversion

2016-01-13 Thread Bernd Schmidt
PR rtl-optimization/68920 * ifcvt.c (cond_move_process_if_block): Limit number of conditional moves. Ok. This should probably be consolidated a bit post 6.0. Bernd

Re: [Patch ifcvt] Add a new parameter to limit if-conversion

2016-01-13 Thread Yuri Rumyantsev
Hi Bernd, Here is updated patch as your proposed to avoid regression on ia64. Bootstarp and regression testing on x86_64 did not show any new failures. Is it OK for trunk? Thanks. diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index 189d60f..ef6fa69 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -3730,6

Re: [Patch ifcvt] Add a new parameter to limit if-conversion

2016-01-12 Thread Bernd Schmidt
On 01/12/2016 04:41 PM, Yuri Rumyantsev wrote: Here is a simple fix to exclude dg/ifcvt-5.c test from ia64 testing. Is it OK for trunk? Please ensure patches are attached as plain text so that reviewers don't have to save them to be able to read them. It looks like ia64 is making chanes in

Re: [Patch ifcvt] Add a new parameter to limit if-conversion

2016-01-12 Thread Yuri Rumyantsev
Hi All, Here is a simple fix to exclude dg/ifcvt-5.c test from ia64 testing. Is it OK for trunk? testsuite/ChangeLog: 2016-01-12 Yuri Rumyantsev PR rtl-optimization/68920 gcc/testsuite/ChangeLog * gcc.dg/ifcvt-5.c: Exclude it from ia64 testing. 2016-01-12 17:01 GMT+03:00 Andreas Schwab : > Y

Re: [Patch ifcvt] Add a new parameter to limit if-conversion

2016-01-12 Thread Andreas Schwab
Yuri Rumyantsev writes: > Is it OK for you if we exclude dg/ifcvt-5.c from ia64 testing Sure, go ahead. Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."

Re: [Patch ifcvt] Add a new parameter to limit if-conversion

2016-01-12 Thread Yuri Rumyantsev
Andreas, Is it OK for you if we exclude dg/ifcvt-5.c from ia64 testing since predication must be used instead of conditional move's. 2016-01-12 13:07 GMT+03:00 Andreas Schwab : > gcc.dg/ifcvt-5.c fails on ia64: > > From ifcvt-5.c.223r.ce1: > > == Pass 2 == > > > == no more

Re: [Patch ifcvt] Add a new parameter to limit if-conversion

2016-01-12 Thread Andreas Schwab
gcc.dg/ifcvt-5.c fails on ia64: >From ifcvt-5.c.223r.ce1: == Pass 2 == == no more changes 1 possible IF blocks searched. 1 IF blocks converted. 2 true changes made. Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE

Re: [Patch ifcvt] Add a new parameter to limit if-conversion

2016-01-04 Thread Bernd Schmidt
On 12/31/2015 10:21 AM, Yuri Rumyantsev wrote: Here is slightly modified patch which limits a number of conditional moves instead of changing conditional branch cost. This is in fact a work-around for very poor cost model which needs to be enhanced to evaluate cost of conditional move that could

Re: [Patch ifcvt] Add a new parameter to limit if-conversion

2015-12-31 Thread Yuri Rumyantsev
Hi All, Here is slightly modified patch which limits a number of conditional moves instead of changing conditional branch cost. This is in fact a work-around for very poor cost model which needs to be enhanced to evaluate cost of conditional move that could be greater then cost of ordinary move (f

Re: [Patch ifcvt] Add a new parameter to limit if-conversion

2015-12-18 Thread James Greenhalgh
On Fri, Dec 18, 2015 at 05:09:14PM +0300, Yuri Rumyantsev wrote: > James, > > We implemented slightly different patch - we restrict number of SET > instructions for if-conversion through new parameter and add check in > bb_ok_for_noce_convert_multiple_sets: > > + unsigned limit = MIN (ii->branch

Re: [Patch ifcvt] Add a new parameter to limit if-conversion

2015-12-18 Thread Yuri Rumyantsev
James, We implemented slightly different patch - we restrict number of SET instructions for if-conversion through new parameter and add check in bb_ok_for_noce_convert_multiple_sets: + unsigned limit = MIN (ii->branch_cost, + (unsigned) PARAM_VALUE (PARAM_MAX_IF_CONV_SET_INSNS)); .. - if (count