This is the mail archive of the gcc@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]

Pseudo frame pointer register in assembly code


Hi,

We have been implementing GCC port for a new target.

The FRAME_POINTER_REGNUM is defined a pseudo register in header file.
I am using the following macros in header file to eliminate the pseudo
arg pointer and frame pointer.
However, there are some instances of frame pointer in the assembly code.

Currently, I have modified "GO_IF_LEGITIMATE_ADDRESS" in C file to 
eliminate these register references in assembly code. However, there
are still some references found.

Please let me know if there is anything else to be defined to remove
these pseudo instances.

The following chunk of code is used in header file to eliminate pseudo
registers.
=======================================================================
#define FRAME_POINTER_REQUIRED 0

#define ELIMINABLE_REGS                     \
 {{ARG_POINTER_REGNUM, STACK_POINTER_REGNUM},   \
  {ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM},  \
  {FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}}

#define CAN_ELIMINATE(FROM, TO)         (1)

#define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET)                    \
{                                                                       \
  if ((FROM) == FRAME_POINTER_REGNUM)                                   \
    (OFFSET) = ( STACK_POINTER_OFFSET                                   \
                 + crtl->outgoing_args_size );               \
  else if ((FROM) == ARG_POINTER_REGNUM)                                \
    (OFFSET) = ( STACK_POINTER_OFFSET                                   \
                 + xxx_compute_frame_size (get_frame_size (),           \
                                           (long long *)0, (int*)0));   \
  else                                                                  \
    gcc_unreachable ();                                                 \
}
=======================================================================

Thanks & Regards,
Naveen.H.S


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