This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
RE: QUery regarding target macros ELIMINABLE_REGS and CAN_ELIMINATE.
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@gcc.gnu.org [mailto:gcc-help-owner@gcc.gnu.org] 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@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
> >>
> >
> >
> >
> >
> >