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