Dan Sugalski <[EMAIL PROTECTED]> wrote:
>          registers needed:        I43, N0, S12, P3327
>          registers in .pasm:      I25, N0, S20, P32 - 464 spilled
>          2007 basic_blocks, 2079 edges

Ouch. Register allocation is spending huge times during spilling.
Something is definetely wrong with your code - wrong in the sense of: it
doesn't play with, what imcc expects ;)

You must have too much pseudo-globals in that unit, spanning a huge
range and interfering with one another. Do you use lexical vars or
Parrot globals?

> Hrm. Does the code currently consider something like:

>    $P0 = foo

> to start a new lifetime for $P0?

If you don't use $P0 beyond that point yes. Do you name all
temps $P0 or some such? Or are you giving them unique names. You should
do the latter.

leo

Reply via email to