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