Commit d1b0433b by Eric Botcazou Committed by Eric Botcazou

arm.c (arm_set_return_address): Mark the store as frame related, if any.

	* config/arm/arm.c (arm_set_return_address): Mark the store as frame
	related, if any.
	(thumb_set_return_address): Likewise.

From-SVN: r217251
parent 31cb2db0
2014-11-08 Eric Botcazou <ebotcazou@adacore.com>
* config/arm/arm.c (arm_set_return_address): Mark the store as frame
related, if any.
(thumb_set_return_address): Likewise.
2014-11-07 Jeff Law <law@redhat.com> 2014-11-07 Jeff Law <law@redhat.com>
PR tree-optimization/61515 PR tree-optimization/61515
...@@ -29012,7 +29012,11 @@ arm_set_return_address (rtx source, rtx scratch) ...@@ -29012,7 +29012,11 @@ arm_set_return_address (rtx source, rtx scratch)
addr = plus_constant (Pmode, addr, delta); addr = plus_constant (Pmode, addr, delta);
} }
emit_move_insn (gen_frame_mem (Pmode, addr), source); /* The store needs to be marked as frame related in order to prevent
DSE from deleting it as dead if it is based on fp. */
rtx insn = emit_move_insn (gen_frame_mem (Pmode, addr), source);
RTX_FRAME_RELATED_P (insn) = 1;
add_reg_note (insn, REG_CFA_RESTORE, gen_rtx_REG (Pmode, LR_REGNUM));
} }
} }
...@@ -29064,7 +29068,11 @@ thumb_set_return_address (rtx source, rtx scratch) ...@@ -29064,7 +29068,11 @@ thumb_set_return_address (rtx source, rtx scratch)
else else
addr = plus_constant (Pmode, addr, delta); addr = plus_constant (Pmode, addr, delta);
emit_move_insn (gen_frame_mem (Pmode, addr), source); /* The store needs to be marked as frame related in order to prevent
DSE from deleting it as dead if it is based on fp. */
rtx insn = emit_move_insn (gen_frame_mem (Pmode, addr), source);
RTX_FRAME_RELATED_P (insn) = 1;
add_reg_note (insn, REG_CFA_RESTORE, gen_rtx_REG (Pmode, LR_REGNUM));
} }
else else
emit_move_insn (gen_rtx_REG (Pmode, LR_REGNUM), source); emit_move_insn (gen_rtx_REG (Pmode, LR_REGNUM), source);
......
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