Hi,
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?
I feel, I missed something in the GCC internals.
Thanks in advance for any suggestions.
---
With best regards, Konstantin