This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Why is there no arg_pointer_needed?
Ã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