-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is neededpausedin limbo due to circumstancesin limbo due to circumstances
Description
In most 68000 compatible compilers, a MOVEM.L opcode is used to preserve all non-scratch registers to the stack for retrieval just before the execution returns to the calling function. In the case that not all registers are actually touched by the called function, performance is adversely affected by the unnecessary register preservation and retrieval.
Since AmigaE is a 2 pass compiler, it can keep notes on register usage on the first pass while generating the activation record so that the code generation in pass 2 can store and retrieve the registers actually dirtied and leave the rest alone. I think the PPC backend might already do this.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is neededpausedin limbo due to circumstancesin limbo due to circumstances