Hi! On Thu, Mar 28, 2019 at 12:26:13PM -0500, William Tambe wrote: > I am doing porting work and writing a backend using GCC 8.2.0. > > Despite the following #defines, the frame pointer is not getting > eliminated; any idea why GCC would still generate a frame pointer ? Do you use -fomit-frame-pointer (perhaps indirectly from -O, or from a default)? > #undef TARGET_FRAME_POINTER_REQUIRED > #define TARGET_FRAME_POINTER_REQUIRED hook_bool_void_false This is the default for this hook, you don't need this. > #define ELIMINABLE_REGS \ > {{ARG_POINTER_REGNUM, STACK_POINTER_REGNUM}, \ > {ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM}, \ > {FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}} Maybe you need to define HARD_FRAME_POINTER as well? Or is FRAME_POINTER a hardware register for you? Segher