Andrew Stubbs <a...@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