Then please check INITIAL_ELIMINATION_OFFSET macro definitions. (Snip from GCC internals) This macro is similar to INITIAL_FRAME_POINTER_OFFSET. It specifies the initial difference between the specified pair of registers. This macro must be defined if ELIMINABLE_REGS is defined. (Snip) > -----Original Message----- > From: gcc-help-owner@xxxxxxxxxxx [mailto:gcc-help-owner@xxxxxxxxxxx] On > Behalf Of sumanth > Sent: Wednesday, April 22, 2009 12:32 PM > To: venkat > Cc: 'gnu' > Subject: Re: QUery regarding target macros ELIMINABLE_REGS and > CAN_ELIMINATE. > > hi venkat, > and still the problem is same. > venkat wrote: > > 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@xxxxxxxxxxx [mailto:gcc-help-owner@xxxxxxxxxxx] 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 > >> > > > > > > > > > >