-fuse-caller-save - Enable for AArch64
authorTom de Vries <tom@codesourcery.com>
Wed, 18 Jun 2014 16:09:01 +0000 (16:09 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Wed, 18 Jun 2014 16:09:01 +0000 (16:09 +0000)
commit786077082ee3d554cc3dc22212b77c67e378d3aa
tree3dcf0e21a4221c98aaae9f13c2ce0d22715cc5dc
parent7a32d6c491b450dfe86263ef28a9947cd57d09b6
-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.

From-SVN: r211799
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]