QUery regarding target macros ELIMINABLE_REGS and CAN_ELIMINATE.

venkat venkat@acmet.com
Wed Apr 22 05:51:00 GMT 2009


I faced similar problem. 

I have set 'flag_omit_frame_pointer = TRUE' in the function written for the
macro OVERRIDE_OPTIONS.


> -----Original Message-----
> From: gcc-help-owner@gcc.gnu.org [mailto:gcc-help-owner@gcc.gnu.org] On
> Behalf Of sumanth
> Sent: Wednesday, April 22, 2009 10:51 AM
> To: gnu
> Subject: QUery regarding target macros ELIMINABLE_REGS and CAN_ELIMINATE.
> 
> Hi,
>     I have a doubt regarding target macros ELIMINABLE_REGS and
> CAN_ELIMINATE.
>     I defined eliminable regs as
>     #define ELIMINABLE_REGS  { \
>         {FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM} , \
>         {FRAME_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM} , \
>         {HARD_FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM} }
>    and CAN_ELIMINATE(FROM, TO) as if it has to replace
> FRAME_POINTER_REGNUM  with HARD_FRAME_POINTER_REGNUM
>    whenever !(frame_pointer_needed).
> 
>    But, my code generated is not according to CAN_ELIMINATE . It is not
> replacing FRAME_POINTER_REGNUM  with HARD_FRAME_POINTER_REGNUM.
> 
>  Can any one point me to solution.
> 
> Thanks in advance,
> Sumanth




More information about the Gcc-help mailing list