frv-protos.h (frv_expand_epilogue, [...]): Add bool argument.
authorAlexandre Oliva <aoliva@redhat.com>
Sun, 2 May 2004 04:57:47 +0000 (04:57 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Sun, 2 May 2004 04:57:47 +0000 (04:57 +0000)
commit764678d17d7e22a3b5d087b3f3e1d9a518df9a22
tree1d04e1233f03f836fa8708f2a315b1ba2834a01c
parentafbe7e61febc8df565418161787af714550c8244
frv-protos.h (frv_expand_epilogue, [...]): Add bool argument.

* 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.

From-SVN: r81405
gcc/ChangeLog
gcc/config/frv/frv-protos.h
gcc/config/frv/frv.c
gcc/config/frv/frv.h
gcc/config/frv/frv.md