[NDS32] Refine implementation of sibcall patterns.
commit8a02cf8bda20110437d4d6d4b831a75373fa3906
authorjasonwucj <jasonwucj@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Apr 2018 00:56:16 +0000 (4 00:56 +0000)
committerjasonwucj <jasonwucj@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Apr 2018 00:56:16 +0000 (4 00:56 +0000)
tree8c64481b3536726aae27b23b9257fb85095ed3d5
parent13c423693acf20acf13125dda80d20b4dd980896
[NDS32] Refine implementation of sibcall patterns.

gcc/
* config/nds32/nds32-md-auxiliary.c (nds32_long_call_p): New function.
* config/nds32/nds32-protos.h (nds32_long_call_p): Declare.
* config/nds32/nds32.c (nds32_function_ok_for_sibcall): New function.
(TARGET_FUNCTION_OK_FOR_SIBCALL): Define.
* config/nds32/nds32.md (sibcall_internal): New.
(sibcall_register): Remove.
(sibcall_immediate): Remove.
(sibcall_value_internal): New.
(sibcall_value_register): Remove.
(sibcall_value_immediate): Remove.
* config/nds32/predicates.md (nds32_general_register_operand): New.
(nds32_call_address_operand): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@259065 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/nds32/nds32-md-auxiliary.c
gcc/config/nds32/nds32-protos.h
gcc/config/nds32/nds32.c
gcc/config/nds32/nds32.md
gcc/config/nds32/predicates.md