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;
>> >> >
> 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
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_
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
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
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