On 7/20/23 21:49, Kito Cheng wrote:
LGTM, I think long jump is another issue and making ra become a fixed
register will escalate to an ABI issue, so that should not be a
blocker for this patch.
I'll take a look tomorrow, but I'm supportive of what Yanzhang is trying to do in principle. I've got a few hot items to deal with tonight though.

WRT making $ra fixed. In practice fixing a register just takes it out of the pool of things available to the allocator. Furthermore $ra is always considered clobbered at call sites. So while one could view it as an ABI change, it's not one that's actually observable in practice. I suspect that's one of the reasons why $ra is used by the assembler in this manner -- it minimizes both the ABI and performance impacts.

jeff

Reply via email to