"Unable to find a register to spill in class `SIREG'."
Simon Marlow
simonmar at microsoft.com
Mon Dec 3 07:54:01 EST 2001
> Thu, 22 Nov 2001 10:09:17 -0000, Simon Marlow
> <simonmar at microsoft.com> pisze:
>
> > This is an error from the C compiler telling you it ran out
> of registers
> > while compiling the intermediate C. Try adding the -monly-3-regs
> > option, and failing that -monly-2-regs.
>
> With gcc-3.0.2 there are more cases like this. Would making
> -monly-3-regs the default be better?
That will likely hurt performance quite a bit (I don't have figures, but
I guess 10-20%). Often the cause is some inlining or other
optimisations that put extra strain on gcc's register allocator, so it
is usually best to try to track down and avoid these. Or use the native
code generator, if that's possible for the source file in question.
Cheers,
Simon
More information about the Glasgow-haskell-bugs
mailing list