mirror of git://gcc.gnu.org/git/gcc.git
[ARC] Test against frame_pointer_needed in arc_can_eliminate.
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
This commit is contained in:
parent
2daad50b02
commit
19dc47524f
|
|
@ -1,3 +1,8 @@
|
||||||
|
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>
|
2017-06-01 Claudiu Zissulescu <claziss@synopsys.com>
|
||||||
|
|
||||||
* config/arc/arc.c (arc_expand_prologue): Emit a special barrier
|
* config/arc/arc.c (arc_expand_prologue): Emit a special barrier
|
||||||
|
|
|
||||||
|
|
@ -4644,7 +4644,7 @@ arc_final_prescan_insn (rtx_insn *insn, rtx *opvec ATTRIBUTE_UNUSED,
|
||||||
static bool
|
static bool
|
||||||
arc_can_eliminate (const int from ATTRIBUTE_UNUSED, const int to)
|
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
|
/* Define the offset between two registers, one to be eliminated, and
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue