profiling go
Stephen Weeks
MLton@sourcelight.com
Mon, 11 Jun 2001 11:46:43 -0700
> That would be nice, but the codegen is only keeping values in registers
> across basic blocks if the value was put in a (pseudo-)register by the
> backend register-allocator. So, all three of these values are being used
> from their stack locations and are written back to the stack before the
> end of the basic block.
Yuck. We really need a rethink of having two different register allocators.
The backend one is so stupid because it will always keep a CPS var in a stack
slot if it is ever live across a nontail call. Maybe we've already discussed
this, but is there any simple fix in the codegen that might undo some of this
stupidity?