Re: [PATCH] Fix unnecessary register spill that depends on function ordering

2020-07-09 Thread Richard Sandiford
Sorry for the slow reply. Omar Tahir writes: >> Omar Tahir writes: >> > Hi Richard, >> > >> > From: Richard Sandiford >> >> > @@ -3719,6 +3722,7 @@ static unsigned int rest_of_handle_sched (void) >> >> > { #ifdef INSN_SCHEDULING >> >> > + first_moveable_pseudo = last_moveable_pseudo; >> >> >

RE: [PATCH] Fix unnecessary register spill that depends on function ordering

2020-07-02 Thread Omar Tahir
> Omar Tahir writes: > > Hi Richard, > > > > From: Richard Sandiford > >> > @@ -3719,6 +3722,7 @@ static unsigned int rest_of_handle_sched (void) > >> > { #ifdef INSN_SCHEDULING > >> > + first_moveable_pseudo = last_moveable_pseudo; > >> >if (flag_selective_scheduling > >> >&& ! may

Re: [PATCH] Fix unnecessary register spill that depends on function ordering

2020-07-01 Thread Richard Sandiford
Omar Tahir writes: > Hi Richard, > > From: Richard Sandiford >> > @@ -3719,6 +3722,7 @@ static unsigned int rest_of_handle_sched (void) >> > { #ifdef INSN_SCHEDULING >> > + first_moveable_pseudo = last_moveable_pseudo; >> >if (flag_selective_scheduling >> >&& ! maybe_skip_selective_

RE: [PATCH] Fix unnecessary register spill that depends on function ordering

2020-07-01 Thread Omar Tahir
Hi Richard, From: Richard Sandiford > > @@ -3719,6 +3722,7 @@ static unsigned int rest_of_handle_sched (void) > > { #ifdef INSN_SCHEDULING > > + first_moveable_pseudo = last_moveable_pseudo; > >if (flag_selective_scheduling > >&& ! maybe_skip_selective_scheduling ()) > > run_se

Re: [PATCH] Fix unnecessary register spill that depends on function ordering

2020-06-30 Thread Richard Sandiford
Hi, Thanks for the patch. Omar Tahir writes: > Hi, > > The variables first_moveable_pseudo and last_moveable_pseudo aren't reset > after compiling a function, which means they leak into the first scheduler > pass of the following function. In some cases, this can cause an extra spill > during re

[PATCH] Fix unnecessary register spill that depends on function ordering

2020-06-30 Thread Omar Tahir
Hi, The variables first_moveable_pseudo and last_moveable_pseudo aren't reset after compiling a function, which means they leak into the first scheduler pass of the following function. In some cases, this can cause an extra spill during register allocation of the second function. This patch fixes