Nicholas Clark (via RT) wrote:

> On Thu, Sep 05, 2002 at 04:38:37AM -0400, Dan Sugalski wrote:



[ inout ]

> That makes it sound like we have (at least) 2 directions of out. We seem
> to have
> 
> in      the register is read,
>         (and the value pointed to by the register is read)
> out1  the register is written to
> out2    the value pointed to by the register is written to, but the register
>         itself is unchanged

> and both are useful, but for different parts of optimisation. I suspect
> (but I don't know about imcc, and I've not thought about it) that out2 is
> useful for optimising how many PMCs you actually need to use as temporaries
> in the first place, and out1 is useful for optimising how you map
> temporaries to real parrot registers. But I'm guessing, and for JIT
> purposes I think only need to know about out1.


out2 is currently of no deeper meaning. P6C takes just the next virtual 
register, which is fine, it's makes code more readable.

out2 might be useful for future optimizers, e.g. can I drop this 
instruction because it has no effect - no -, but I can drop "out1" _if_ 
it's the last instruction in a life cylce of a register.

out1 is exactly what matters, and yes, this is for register allocation.


> Nicholas Clark




Reply via email to