Konstantin Vladimirov <konstantin.vladimi...@gmail.com> writes: > What one must use in custom backend to suppress frame pointer usage by > default? > > Frame pointer is mentioned in ELIMINABLE_REGS: > > #define ELIMINABLE_REGS \ > { \ > {ARG_POINTER_REGNUM, STACK_POINTER_REGNUM}, \ > {ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM}, \ > {FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}, \ > } > > TARGET_CAN_ELIMINATE is defined to be always true, > > TARGET_FRAME_POINTER_REQUIRED is defined to be always false > > Instead of this, gcc generates code with frame pointer usage, and I > need manually specify -fomit-frame-pointer to suppress this behavior. > What else may influence this?
You may need to set flag_omit_frame_pointer in your TARGET_OPTION_OVERRIDE or TARGET_OPTION_OPTIMIZATION_TABLE or TARGET_OPTION_OVERRIDE (note that these have different names in earlier versions of gcc). Ian