On Wed, 2009-06-17 at 17:33 -0700, Ian Lance Taylor wrote:
Vladimir Makarov <vmakarov@redhat.com> writes:
I looked at this problem. It looks like
xmm0=call
p666= xmm0
...
insn in the question (spill failure because it needs xmm0)
...
= p666, dead p666
The combiner removes p666=xmm0 and uses xmm0 instead of p666 in the
last insn.
That sounds like a bad idea, particularly if SMALL_REGISTER_CLASSES or
FUNCTION_VALUE_REGNO_P (regno).
Of course it would be nice if ra/reload handled this sort of thing
better.
Vlad,
If combine is "fixed", shouldn't the IRA coalescer coalesce p666 with
xmm0 (assuming no other xmm0 uses during p666's lifetime) giving HJ
the code he wants without having to force things into hardregs too
early? Or doesn't the coalescer coalesce pseudos with hardregs?