-fuse-caller-save - Enable for AArch64
commitba189be503639085ae1a4dfe9117a80b4b6a2bc1
authorvries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 Jun 2014 16:09:01 +0000 (18 16:09 +0000)
committervries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 Jun 2014 16:09:01 +0000 (18 16:09 +0000)
tree3dcf0e21a4221c98aaae9f13c2ce0d22715cc5dc
parentca3737977168b93a6398c951a74a60b60a0a8f9a
-fuse-caller-save - Enable for AArch64

2014-05-30  Tom de Vries  <tom@codesourcery.com>

* config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Declare.
* config/aarch64/aarch64.c
(TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine as true.
(aarch64_emit_call_insn): New function.
(aarch64_load_symref_appropriately): Use aarch64_emit_call_insn instead
of emit_call_insn.
* config/aarch64/aarch64.md (define_expand "call_internal")
(define_expand "call_value_internal", define_expand "sibcall_internal")
(define_expand "sibcall_value_internal"): New.
(define_expand "call", define_expand "call_value")
(define_expand "sibcall", define_expand "sibcall_value"): Use internal
expand variant and aarch64_emit_call_insn.

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

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