How can INITIAL_FRAME_POINTER_OFFSET be made correct?
Richard Henderson
rth@redhat.com
Fri Mar 19 21:02:00 GMT 2004
On Fri, Mar 19, 2004 at 03:30:03PM -0000, Dave Korn wrote:
> INITIAL_FRAME_POINTER_OFFSET is called before the md emit prologue
> function has has a chance to run. So it has to duplicate the exact
> calculations that the prologue function does when it's deciding on the stack
> frame layout for the current function.
Yes. This is true for everyone. Preferred technique is to use a
common function to be used here and in the prologue/epilogue code.
> Is it valid that regs_ever_live[] changes between IFPO and emit_prologue?
No. Whenever reload adds a new spill register, it's supposed to go
back through the allocation loop, which will recompute that offset.
I don't suppose your link register is marked CALL_USED? That's
probably a mistake...
r~
More information about the Gcc
mailing list