* config/frv/frv-protos.h (frv_expand_epilogue,
commitd9b1ff5b1a6de47dab0a4da2991ff4d2196de212
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 2 May 2004 04:57:47 +0000 (2 04:57 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 2 May 2004 04:57:47 +0000 (2 04:57 +0000)
tree1d04e1233f03f836fa8708f2a315b1ba2834a01c
parent05036ed04e63a8f6e91120bae3cd420570831366
* config/frv/frv-protos.h (frv_expand_epilogue,
frv_expand_fdpic_call): Add bool argument.
* config/frv/frv.c (frv_function_ok_for_sibcall): New.
(TARGET_FUNCTION_OK_FOR_SIBCALL): Define to it.
(frv_expand_epilogue): Use new argument to decide whether to emit
return instruction or copy the return address to LR.
(frv_expand_fdpic_call): Inline PLT entry when emitting direct
sibcalls.
(sibcall_operand): New.
* config/frv/frv.h (PREDICATE_CODES): call_operand doesn't match
PLUS nor LABEL_REF.  Add sibcall_operand.
* config/frv/frv.md (call, call_value): Pass false to
frv_expand_fdpic_call.
(call_fdpicdi, call_value_fdpicdi): Insert %i0 in calll.
(sibcall, sibcall_internal, sibcall_fdpicdi, sibcall_value,
sibcall_value_internal, sibcall_value_fdpicdi): New.
(return_unsigned_true, return_unsigned_false): New.
(epilogue): Adjust call to frv_expand_epilogue.
(sibcall_epilogue): New.

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