arm.c (use_return_insn): Check TARGET_APCS_FRAME.
authorPaul Brook <pbrook@gcc.gnu.org>
Tue, 11 Mar 2008 17:43:22 +0000 (17:43 +0000)
committerPaul Brook <pbrook@gcc.gnu.org>
Tue, 11 Mar 2008 17:43:22 +0000 (17:43 +0000)
commitec6237e4403c864d94378d7c6bd96a01ff2bc06e
tree9aab21af74f13d71b320c1bcf209e001e2f18eeb
parent2f6025a15b2eed2f15eb1a997330f097e4814641
arm.c (use_return_insn): Check TARGET_APCS_FRAME.

2008-03-11  Paul Brook  <paul@codesourcery.com>
Vladimir Prus  <vladimir@codesourcery.com>

* config/arm/arm.c (use_return_insn): Check TARGET_APCS_FRAME.
(arm_compute_save_reg0_reg12_mask): Always
check if register 11 must be saved.  Always safe hard frame pointer
when frame_pointer_needeed.
(arm_compute_save_reg_mask): Save IP and PC
only with apcs frames.
(arm_output_epilogue): Adjust Thumb2 codepath to
be also invoked and work for ARM non-apcs frames.
(arm_expand_prologue): Don't bother saving IP
for non-apcs frame, since it's not clobbered by
prologue code.  Implement non-apcs frame
layout.

From-SVN: r133117
gcc/ChangeLog
gcc/config/arm/arm.c