Andrew Stubbs <[email protected]> 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