This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] mudflap: remove usage of builtin_frame_address



On Jan 12, 2005, at 9:22 PM, Ulrich Weigand wrote:


Richard Henderson wrote:

On Wed, Jan 12, 2005 at 02:25:42PM +0100, Andreas Krebbel wrote:
The problem with builtin_frame_address is that is does not work when
-fomit-frame-pointer is set which it is per default on s390.

Then the s390 port is broken. For a constant value of 0, this should ALWAYS work.

So what is the back end supposed to do about it? __builtin_frame_address (0) gets expanded to hard_frame_pointer_rtx by the middle end, without any callback that would allow the back end to intervene.

When -fomit-frame-pointer is true, and the function doesn't otherwise
require a frame pointer, the hard register hard_frame_pointer_rtx is
not set up as frame pointer, and basically contains a random value ...

But in reload/greg, it gets replaced with the stack based frame pointer. At least it does on rs6000 and most likely every other target.

-- Pinski


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]