This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Why doesn't -fomit-frame-pointer work(very well)?
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: Peter Barada <pbarada at mail dot wm dot sps dot mot dot com>
- Cc: Peter dot Barada at motorola dot com, weigand at immd1 dot informatik dot uni-erlangen dot de, rth at redhat dot com, gcc at gcc dot gnu dot org, uweigand at de dot ibm dot com, Richard dot Earnshaw at arm dot com
- Date: Thu, 04 Apr 2002 17:20:11 +0100
- Subject: Re: Why doesn't -fomit-frame-pointer work(very well)?
- Organization: ARM Ltd.
- Reply-to: Richard dot Earnshaw at arm dot com
> >Since the two register I'm adding are virtual, then that should change
> >REG_ALLOC_ORDER since thoser oare *physical* registers...
>
> I was trying to say "Since the two registers I'm adding are virtual,
> then that should *not* change REG_ALLOC_ORDER since REG_ALLOC_ORDER
> deals with physical registers, not virtual.
The compiler considers any register less than FIRST_PSEUDO_REGISTER to be
a real register. So you have to consider the soft frame pointer as a
physical register that just happens to never be used in the final code,
because it has always been eliminated.
The virtual frame pointer is yet another register, that is eliminated
early on in the compilation of a function (see instantiate_virtual_regs).
R.