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