arc_can_eliminate is using arc_frmae_pointer_required() which is wrong
as the frame_pointer_needed can be set on different conditions. Fix it
by calling arc_frame_pointer_needed().
gcc/
2017-06-01 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.c (arc_can_eliminate): Test against
arc_frame_pointer_needed.
From-SVN: r248782
+2017-06-01 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * config/arc/arc.c (arc_can_eliminate): Test against
+ arc_frame_pointer_needed.
+
2017-06-01 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.c (arc_expand_prologue): Emit a special barrier
static bool
arc_can_eliminate (const int from ATTRIBUTE_UNUSED, const int to)
{
- return to == FRAME_POINTER_REGNUM || !arc_frame_pointer_required ();
+ return ((to == FRAME_POINTER_REGNUM) || !arc_frame_pointer_needed ());
}
/* Define the offset between two registers, one to be eliminated, and