> As advised given by you ,we defind the following marcos like > > #define ARG_POINTER_REGNUM 9 > #define FRAME_POINTER_REGNUM 8
ARG_POINTER_REGNUM and FRAME_POINTER_REGNUM need to be pseudo-registers if they do not represent real registers. > #define STACK_POINTER_REGNUM 10 > > > #define ELIMINABLE_REGS \ > {{ ARG_POINTER_REGNUM, STACK_POINTER_REGNUM}, \ > { FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}} \ > > #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ > (OFFSET) = tlcs_initial_elimination_offset (FROM, TO) > > #define CAN_ELIMINATE 1 > > #define FIRST_PARM_OFFSET 3 > > With -O0 or by default options the frame and arg regs are not > replaced by stack reg and the same replaced with -O1 and above > optimisation. Only pseudo-registers are always eliminated I think. -- Eric Botcazou