Re: [patch] Extend GIMPLE store merging to throwing stores

2019-10-02 Thread Eric Botcazou
> that works for me - the patch is OK with that change. Thanks. In the end, I went for your solution and the helper is called unsplit_eh_edges, which is even more explicit than unsplit_all_eh. * tree-eh.h (unsplit_eh_edges): Declare. * tree-eh.c (maybe_remove_unreachable_handle

Re: [patch] Extend GIMPLE store merging to throwing stores

2019-10-01 Thread Richard Biener
On Tue, Oct 1, 2019 at 1:05 PM Eric Botcazou wrote: > > [Thanks for the quick review and sorry for the longish delay] > > > +/* Return the index number of the landing pad for STMT, if any. */ > > + > > +static int > > +lp_nr_for_store (gimple *stmt) > > +{ > > + if (!cfun->can_throw_non_call_exc

Re: [patch] Extend GIMPLE store merging to throwing stores

2019-10-01 Thread Eric Botcazou
[Thanks for the quick review and sorry for the longish delay] > +/* Return the index number of the landing pad for STMT, if any. */ > + > +static int > +lp_nr_for_store (gimple *stmt) > +{ > + if (!cfun->can_throw_non_call_exceptions || !cfun->eh) > +return 0; > + > + if (!stmt_could_throw_

Re: [patch] Extend GIMPLE store merging to throwing stores

2019-07-31 Thread Richard Biener
On Fri, Jul 26, 2019 at 12:56 PM Eric Botcazou wrote: > > Hi, > > one of the effects of -fnon-call-exceptions is that the memory accesses are > considered trapping by default, i.e. unless you can prove otherwise. If, in > addition to this, the code is covered by an exception handler, such memory