This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Why does lower-subreg mark copied pseudos as "decomposable"?
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: Andrew Stubbs <ams at codesourcery dot com>
- Cc: <gcc at gcc dot gnu dot org>
- Date: Tue, 17 Apr 2012 18:20:56 +0100
- Subject: Re: Why does lower-subreg mark copied pseudos as "decomposable"?
- References: <4F8D8E21.5070702@codesourcery.com>
Andrew Stubbs <ams@codesourcery.com> writes:
> Hi all,
>
> I can see why copying from one pseudo-register to another would not be a
> reason *not* to decompose a register, but I don't understand why this is
> a reason to say it *should* be decomposed.
The idea is that, if a backend implements an N-word pseudo move using
N word-mode moves, it is better to expose those moves before register
allocation. It's easier for RA to find N separate word-mode registers
than a single contiguous N-word one.
The problem is the "if a backend implements ..." bit: the current code
doesn't check. This patch:
http://gcc.gnu.org/ml/gcc-patches/2012-04/msg00094.html
should help. It's still waiting for me to find a case where the two
possible ways of handling hot-cold partitioning behave differently.
Richard