Re: Revisiting the use of cselib in alias.c for scheduling

2010-07-23 Thread Steven Bosscher
On Thu, Jul 22, 2010 at 9:29 AM, Maxim Kuvyrkov wrote: > index 89743c3..047b717 100644 > --- a/gcc/sched-rgn.c > +++ b/gcc/sched-rgn.c > @@ -2935,6 +2935,9 @@ schedule_region (int rgn) >   if (sched_is_disabled_for_current_region_p ()) >     return; > > +  gcc_assert (!reload_completed || current_

Re: Revisiting the use of cselib in alias.c for scheduling

2010-07-22 Thread Maxim Kuvyrkov
On 7/22/10 3:34 AM, Steven Bosscher wrote: On Wed, Jul 21, 2010 at 10:09 PM, Maxim Kuvyrkov wrote: Cselib can /always/ be used during second scheduling pass Except with the selective scheduler when it works on regions that are not extended basic blocks, I suppose? Right, I was considering s

Re: Revisiting the use of cselib in alias.c for scheduling

2010-07-21 Thread Steven Bosscher
On Wed, Jul 21, 2010 at 10:09 PM, Maxim Kuvyrkov wrote: > Cselib can /always/ be used during second scheduling pass Except with the selective scheduler when it works on regions that are not extended basic blocks, I suppose? > and on > single-block regions during the first scheduling pass (after

Re: Revisiting the use of cselib in alias.c for scheduling

2010-07-21 Thread Maxim Kuvyrkov
On 7/21/10 6:44 PM, Bernd Schmidt wrote: On 07/21/2010 03:06 PM, Steven Bosscher wrote: 3. GCC now has better alias analysis than it used to, especially with the alias-exporting stuff that exports the GIMPLE points-to analysis results, but also just all the other little things that were contribu

Re: Revisiting the use of cselib in alias.c for scheduling

2010-07-21 Thread Steven Bosscher
On Wed, Jul 21, 2010 at 5:14 PM, Jakub Jelinek wrote: >> > If that can't be improved, I think that rather than remove cselib from >> > the scheduler, the question should be: if it's useful, why don't we use >> > it for other schedulers rather than only sched-ebb? >> >> Well, for one thing: It curr

Re: Revisiting the use of cselib in alias.c for scheduling

2010-07-21 Thread Jakub Jelinek
On Wed, Jul 21, 2010 at 04:57:10PM +0200, Steven Bosscher wrote: > On Wed, Jul 21, 2010 at 4:44 PM, Bernd Schmidt > wrote: > > On 07/21/2010 03:06 PM, Steven Bosscher wrote: > >> 3. GCC now has better alias analysis than it used to, especially with > >> the alias-exporting stuff that exports the

Re: Revisiting the use of cselib in alias.c for scheduling

2010-07-21 Thread Steven Bosscher
On Wed, Jul 21, 2010 at 4:44 PM, Bernd Schmidt wrote: > On 07/21/2010 03:06 PM, Steven Bosscher wrote: >> 3. GCC now has better alias analysis than it used to, especially with >> the alias-exporting stuff that exports the GIMPLE points-to analysis >> results, but also just all the other little thi

Re: Revisiting the use of cselib in alias.c for scheduling

2010-07-21 Thread Bernd Schmidt
On 07/21/2010 03:06 PM, Steven Bosscher wrote: > 3. GCC now has better alias analysis than it used to, especially with > the alias-exporting stuff that exports the GIMPLE points-to analysis > results, but also just all the other little things that were > contributed over the last 10 years (little t

Re: Revisiting the use of cselib in alias.c for scheduling

2010-07-21 Thread Bernd Schmidt
On 07/21/2010 03:06 PM, Steven Bosscher wrote: > It looks like ~9% extra !true_dependence cases are found with cselib, > with is not insignificant: > > situationcalls depends ratio > with_cselib 186764 70463 0.377284 > asis 186764 76375 0.408939 (i.e. no cselib) > > On the o

Revisiting the use of cselib in alias.c for scheduling

2010-07-21 Thread Steven Bosscher
Hello, Back in 2001, GCC could disambiguate almost no MEMs on ia64 because ia64 has no (reg+offs) addressing modes. Bernd added a trick to alias and to sched-ebb to use cselib, to substitute a reg address with a reg+offs address recorded by cselib (see http://gcc.gnu.org/viewcvs?view=revision&revi