Re: [PATCH] Fix PR89710

2019-03-15 Thread Richard Biener
On Fri, 15 Mar 2019, Jakub Jelinek wrote: > On Fri, Mar 15, 2019 at 09:46:33AM +0100, Richard Biener wrote: > > On Fri, 15 Mar 2019, Jakub Jelinek wrote: > > > > > On Fri, Mar 15, 2019 at 09:22:26AM +0100, Richard Biener wrote: > > > > That said, I think we can go with my patch for GCC 9 and defe

Re: [PATCH] Fix PR89710

2019-03-15 Thread Jakub Jelinek
On Fri, Mar 15, 2019 at 09:46:33AM +0100, Richard Biener wrote: > On Fri, 15 Mar 2019, Jakub Jelinek wrote: > > > On Fri, Mar 15, 2019 at 09:22:26AM +0100, Richard Biener wrote: > > > That said, I think we can go with my patch for GCC 9 and defer a more > > > complete and elaborate solution to GCC

Re: [PATCH] Fix PR89710

2019-03-15 Thread Richard Biener
On Fri, 15 Mar 2019, Jakub Jelinek wrote: > On Fri, Mar 15, 2019 at 09:22:26AM +0100, Richard Biener wrote: > > That said, I think we can go with my patch for GCC 9 and defer a more > > complete and elaborate solution to GCC 10 (where I'd still prefer > > sth simple). > > > > What do you think? >

Re: [PATCH] Fix PR89710

2019-03-15 Thread Jakub Jelinek
On Fri, Mar 15, 2019 at 09:22:26AM +0100, Richard Biener wrote: > That said, I think we can go with my patch for GCC 9 and defer a more > complete and elaborate solution to GCC 10 (where I'd still prefer > sth simple). > > What do you think? Ok. gimple_purge_dead_abnormal_call_edges after all is

Re: [PATCH] Fix PR89710

2019-03-15 Thread Richard Biener
On Thu, 14 Mar 2019, Jakub Jelinek wrote: > On Thu, Mar 14, 2019 at 03:10:59PM +0100, Richard Biener wrote: > > I've added a testcase. > > > > Bootstrapped and tested on x86_64-unknown-linux-gnu, OK for trunk > > or should it wait for GCC10? > > I meant something like following where we'd clean

Re: [PATCH] Fix PR89710

2019-03-14 Thread Jakub Jelinek
On Thu, Mar 14, 2019 at 03:10:59PM +0100, Richard Biener wrote: > I've added a testcase. > > Bootstrapped and tested on x86_64-unknown-linux-gnu, OK for trunk > or should it wait for GCC10? I meant something like following where we'd clean it up everything right away after we DCE some returns_twi

Re: [PATCH] Fix PR89710

2019-03-14 Thread Richard Biener
On Thu, 14 Mar 2019, Richard Biener wrote: > On Thu, 14 Mar 2019, Jakub Jelinek wrote: > > > On Thu, Mar 14, 2019 at 11:23:03AM +0100, Richard Biener wrote: > > > I am testing the following. There's IMHO also a missed optimization > > > (for CFG-cleanup?) that when a block does not end up in a c

Re: [PATCH] Fix PR89710

2019-03-14 Thread Richard Biener
On Thu, 14 Mar 2019, Jakub Jelinek wrote: > On Thu, Mar 14, 2019 at 11:23:03AM +0100, Richard Biener wrote: > > I am testing the following. There's IMHO also a missed optimization > > (for CFG-cleanup?) that when a block does not end up in a call > > outgoing abnormal edges can be purged? In thi

Re: [PATCH] Fix PR89710

2019-03-14 Thread Jakub Jelinek
On Thu, Mar 14, 2019 at 11:23:03AM +0100, Richard Biener wrote: > I am testing the following. There's IMHO also a missed optimization > (for CFG-cleanup?) that when a block does not end up in a call > outgoing abnormal edges can be purged? In this case it is > IPA inlining leaving us with this -

[PATCH] Fix PR89710

2019-03-14 Thread Richard Biener
I am testing the following. There's IMHO also a missed optimization (for CFG-cleanup?) that when a block does not end up in a call outgoing abnormal edges can be purged? In this case it is IPA inlining leaving us with this - the inliner calls gimple_purge_dead_abnormal_call_edges on the return