This is the mail archive of the
mailing list for the GCC project.
Re: Run the combine part of combine_and_move_insns even if -fsched-pressure
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: gcc-patches at gcc dot gnu dot org, vmakarov at redhat dot com, richard dot sandiford at arm dot com
- Date: Wed, 7 Aug 2019 15:57:37 -0500
- Subject: Re: Run the combine part of combine_and_move_insns even if -fsched-pressure
- References: <email@example.com>
On Wed, Aug 07, 2019 at 07:16:03PM +0100, Richard Sandiford wrote:
> The main IRA routine includes the code:
> /* Don't move insns if live range shrinkage or register
> pressure-sensitive scheduling were done because it will not
> improve allocation but likely worsen insn scheduling. */
> if (optimize
> && !flag_live_range_shrinkage
> && !(flag_sched_pressure && flag_schedule_insns))
> combine_and_move_insns ();
> The comment about not moving insns for pressure-sensitive scheduling
> makes sense, but I think the combine part of combine_and_move_insns is
> still useful, since it's folding a set of an equivalent value into its
> single user and so eliminates the need for one register altogether.
During which pass are the newly combined instructions created? If not
late, why does combine refuse to do this combination?