This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 11/29] [arm] Reduce cost of insns that are simple reg-reg moves.
On Mon, Oct 21, 2019 at 04:46:47PM +0100, Richard Earnshaw (lists) wrote:
> On 19/10/2019 17:17, Segher Boessenkool wrote:
> >Maybe we should simply disallow pseudo-to-pseudo (or even all) copies when
> >combining more than two insns, always? I'll experiment.
> For the 2-insn case we don't try a split and simply give up; but when we
> have a three-insn sequence we then combine tries harder and the generic
> splitter does rewrite that in 2 insns.
When doing a 2-2 combination, we don't try to split currently. We could,
if that ever is useful, but that needs more work (to make sure we won't
loop, for one thing).
> Perhaps combine should never try a 3, or 4 insn combination where i0 or
> i1 is a simple reg-reg move and only feeds one subsequent insn in the
> sequence on the basis that if that was really going to help then it
> would have been caught by the two-insn sequence. If it feeds both i2
> and i3 then that's a different matter, of course.
Yeah... Maybe a simple move as producer where the reg dies in the consumer
should not be tried with 3 or more insns? (Never doing combinations with
trivial copies results in a few in a thousand extra insns, pretty bad).
Segher