-fuse-caller-save - Enable for ARM
commitca3737977168b93a6398c951a74a60b60a0a8f9a
authorvries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 Jun 2014 15:50:59 +0000 (18 15:50 +0000)
committervries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 Jun 2014 15:50:59 +0000 (18 15:50 +0000)
treec149e1e97b535742e7eb05f673e0816661351dc5
parent0f7d7124ae90b7759b52c86da37cdb5d58dcc02b
-fuse-caller-save - Enable for ARM

2014-06-18  Radovan Obradovic  <robradovic@mips.com>
            Tom de Vries  <tom@codesourcery.com>

* config/arm/arm-protos.h (arm_emit_call_insn): Add bool parameter.
* config/arm/arm.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
Redefine to true.
(arm_emit_call_insn): Add and use sibcall parameter.  Add IP and CC
clobbers to CALL_INSN_FUNCTION_USAGE.
(define_expand "sibcall_internal")
(define_expand "sibcall_value_internal"): New.
(define_expand "call", define_expand "call_value"): Add argument to
arm_emit_call_insn.
(define_expand "sibcall"): Use sibcall_internal and arm_emit_call_insn.
(define_expand "sibcall_value"): Use sibcall_value_internal and
arm_emit_call_insn.

* gcc.target/arm/fuse-caller-save.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211798 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/arm-protos.h
gcc/config/arm/arm.c
gcc/config/arm/arm.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/fuse-caller-save.c [new file with mode: 0644]