error: unable to find a register to spill in class 'FP_REGS'

Jim Wilson wilson@specifix.com
Wed Mar 14 23:10:00 GMT 2007


Markus Franke wrote:
> Does anybody have an idea what could be wrong in the machine description
> or to where start finding the error?

Compile with -da, and starting looking at the RTL dumps, mainly the greg 
and lreg ones.  The greg one will have a section listing all of the 
reloads generated, find the list of reloads generated for this insn 45.

lreg will have info about register class preferencing.  It will tell you 
what register class the compiler wants to use for this insn.

The fact that this insn doesn't do FP isn't important.  What is 
important is how the pseudo-regs are used.  If the pseudo-reg 92 is used 
in 10 insns, and 8 of them are FP insns and 2 are integer move insns, 
then the register allocator will prefer an FP reg, since that should 
give the best overall result, as only 2 insns will need reloads.  If it 
used an integer reg, then 8 insns would need reloads.
-- 
Jim Wilson, GNU Tools Support, http://www.specifix.com



More information about the Gcc mailing list