On 12/1/22 11:13, Alex Bennée wrote:
I'm not sure I want to take this anymore. It's confusing to use. I
really think what I should do instead is improve the TCG register
allocator.
Whats the ultimate aim for the rewrite? Hold values in target registers
over the extended block? What about avoid spills between potential fault
points?
Primary goal is to handle register allocation across basic blocks without front end
translators needing to consider "local" vs "temporary". Which would also allow any use of
branches in the middle-end, where we currently have to worry about accidentally killing
temporaries held by the front end. That's where this patch fails, in that it makes the
current situation even more complicated.
Secondary goal would be proper register allocation across basic blocks.
Tertiary goal would be single-assignment form, to allow better optimizations.
I'll have to do some research before committing to do anything in this area.
r~