Commit 77436791 by Vladimir Makarov Committed by Vladimir Makarov

aarch64.c (aarch64_frame_pointer_required): Check LR_REGNUM.

2013-12-03  Vladimir Makarov  <vmakarov@redhat.com>

	* config/aarch64/aarch64.c (aarch64_frame_pointer_required): Check
	LR_REGNUM.
	(aarch64_can_eliminate): Don't check elimination source when
	frame_pointer_required is false.

From-SVN: r205637
parent e8d8443d
2013-12-03 Vladimir Makarov <vmakarov@redhat.com>
* config/aarch64/aarch64.c (aarch64_frame_pointer_required): Check
LR_REGNUM.
(aarch64_can_eliminate): Don't check elimination source when
frame_pointer_required is false.
2013-12-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* config/avr/avr.c (avr_option_override): Warn if asked to generate
......@@ -1703,7 +1703,7 @@ aarch64_frame_pointer_required (void)
if (flag_omit_frame_pointer && !faked_omit_frame_pointer)
return false;
else if (flag_omit_leaf_frame_pointer)
return !crtl->is_leaf;
return !crtl->is_leaf || df_regs_ever_live_p (LR_REGNUM);
return true;
}
......@@ -4126,7 +4126,7 @@ aarch64_can_eliminate (const int from, const int to)
of faked_omit_frame_pointer here (which is true when we always
wish to keep non-leaf frame pointers but only wish to keep leaf frame
pointers when LR is clobbered). */
if (from == FRAME_POINTER_REGNUM && to == STACK_POINTER_REGNUM
if (to == STACK_POINTER_REGNUM
&& df_regs_ever_live_p (LR_REGNUM)
&& faked_omit_frame_pointer)
return false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment