Re: Compile-time improvement for if conversion.

2016-10-17 Thread Richard Biener
On Fri, Oct 14, 2016 at 2:07 PM, Yuri Rumyantsev wrote: > Richard, > > Here is updated patch with the changes proposed by you. > > Bootstrapping and regression testing did not show any new failures. > Is it OK for trunk? Ok with dropping the free_dominance_info_for_region

Re: Compile-time improvement for if conversion.

2016-10-14 Thread Yuri Rumyantsev
Richard, Here is updated patch with the changes proposed by you. Bootstrapping and regression testing did not show any new failures. Is it OK for trunk? ChangeLog: 2016-10-14 Yuri Rumyantsev * dominance.c (dom_info::dom_info): Add new constructor for region presented by

Re: Compile-time improvement for if conversion.

2016-10-13 Thread Richard Biener
On Wed, Oct 12, 2016 at 3:37 PM, Yuri Rumyantsev wrote: > Richard, > > Here is updated patch . I avoided creation of new entry/exit blocks > but instead add check to border cases - do not consider also blocks > which are out of region. > > Any comments will be appreciated. I

Re: Compile-time improvement for if conversion.

2016-10-12 Thread Yuri Rumyantsev
Richard, Here is updated patch . I avoided creation of new entry/exit blocks but instead add check to border cases - do not consider also blocks which are out of region. Any comments will be appreciated. 2016-10-11 16:48 GMT+03:00 Richard Biener : > On Tue, Oct 11,

Re: Compile-time improvement for if conversion.

2016-10-11 Thread Richard Biener
On Tue, Oct 11, 2016 at 3:23 PM, Yuri Rumyantsev wrote: > Richard, > > I implemented this by passing callback function in_region which > returns true if block belongs to region. > I am testing it now > > I attach modified patch for your quick review. + FOR_EACH_VEC_ELT

Re: Compile-time improvement for if conversion.

2016-10-11 Thread Yuri Rumyantsev
Richard, I implemented this by passing callback function in_region which returns true if block belongs to region. I am testing it now I attach modified patch for your quick review. Thanks. 2016-10-11 13:33 GMT+03:00 Richard Biener : > On Mon, Oct 10, 2016 at 4:17

Re: Compile-time improvement for if conversion.

2016-10-11 Thread Richard Biener
On Mon, Oct 10, 2016 at 4:17 PM, Yuri Rumyantsev wrote: > Richard, > > If "fake" exit or entry block is created in dominance how we can > determine what is its the only predecessor or successor without using > a notion of loop? The caller passes in an entry and exit edge

Re: Compile-time improvement for if conversion.

2016-10-10 Thread Yuri Rumyantsev
Richard, If "fake" exit or entry block is created in dominance how we can determine what is its the only predecessor or successor without using a notion of loop? 2016-10-10 15:00 GMT+03:00 Richard Biener : > On Mon, Oct 10, 2016 at 1:42 PM, Yuri Rumyantsev

Re: Compile-time improvement for if conversion.

2016-10-10 Thread Richard Biener
On Mon, Oct 10, 2016 at 1:42 PM, Yuri Rumyantsev wrote: > Thanks Richard for your comments. > I'd like to answer on your last comment regarding use split_edge() > instead of creating fake post-header. I started with this splitting > but it requires to fix-up closed ssa form by

Re: Compile-time improvement for if conversion.

2016-10-10 Thread Yuri Rumyantsev
Thanks Richard for your comments. I'd like to answer on your last comment regarding use split_edge() instead of creating fake post-header. I started with this splitting but it requires to fix-up closed ssa form by creating additional phi nodes, so I decided to use only cfg change without updating

Re: Compile-time improvement for if conversion.

2016-10-10 Thread Richard Biener
On Wed, Oct 5, 2016 at 3:22 PM, Yuri Rumyantsev wrote: > Hi All, > > Here is implementation of Richard proposal: > > < For general infrastructure it would be nice to expose a (post-)dominator > < compute for MESE (post-dominators) / SEME (dominators) regions. I believe > <

Compile-time improvement for if conversion.

2016-10-05 Thread Yuri Rumyantsev
Hi All, Here is implementation of Richard proposal: < For general infrastructure it would be nice to expose a (post-)dominator < compute for MESE (post-dominators) / SEME (dominators) regions. I believe < what makes if-conversion expensive is the post-dom compute which happens < for each loop