Re: frame_pointer_needed always true ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
> I'm porting a private backend from an old 4.6 gcc to the 6.1.0 release,
> and would appreciate an little help figuring out what may be wrong.
>
> In my backend prologue (6.1.0 release), I test frame_pointer_needed to
> figure out if the frame pointer is needed or not. But
> frame_pointer_needed is always true (even the function void f(void) {}
> which does not use any register), unless setting -fomit_frame_pointer.
>
> The TARGET_FRAME_POINTER_REQUIRED is defined to hook_bool_void_false,
> and the INITIAL_ELIMINATION_OFFSET, ELIMINABLE_REGS and
> TARGET_CAN_ELIMINATE seem to be correctly defined and elimination works
> correctly with -fomit-frame-pointer.
> I noticed that both my frame pointer and the stack pointer are marked
> live in; lr in and lr use for this empty function (post reload). I
> wonder if it is normal.

To be eliminated without -fomit-frame-pointer, shall the
FRAME_POINTER_REGNUM be different from HARD_FRAME_POINTER_REGNUM ?
I tried many things, but cannot figure out why my
HARD_FRAME_POINTER_REGNUM (which is not fixed) is always marked live
post reload... Any hint?

Thanks,
Aurelien




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux