Why is there no arg_pointer_needed?
Ian Lance Taylor
ian@airs.com
Mon Jan 31 17:24:00 GMT 2005
Øyvind Harboe <oyvind.harboe@zylin.com> writes:
> > In general init_elim_table() will reject attempts to eliminate to the
> > stack pointer when frame_pointer_needed is true. In other cases, it
> > will eliminate to the stack pointer. So it seems that if you can't
> > eliminate the argument pointer to the stack pointer, then the frame
> > pointer must be needed; there is no other reason that the elimination
> > would fail.
>
> If I have understood you correctly:
>
> If the frame pointer is not needed and GCC fails to eliminate the
> argument pointer to the stack pointer, then GCC(or the backend) is
> broken.
Yes, though I would put it slightly differently. If gcc can not
eliminate the argument pointer to the stack pointer, then the frame
pointer is needed. If gcc does not detect that fact, then there is a
bug.
Ian
More information about the Gcc
mailing list