Add tailcall/sibcall support to the H8
authorJeff Law <jlaw@localhost.localdomain>
Mon, 23 Aug 2021 14:33:35 +0000 (10:33 -0400)
committerJeff Law <jlaw@localhost.localdomain>
Mon, 23 Aug 2021 14:37:20 +0000 (10:37 -0400)
commitfedadb60b6fc6425387faf4d514b4e8b0e24180e
treea7790752bbcd3170055d90dee37b2ae7f96fc401
parent89ff4f027b5c92e96a8527920b8ccc3b94aec672
Add tailcall/sibcall support to the H8

gcc/

* config/h8300/h8300-protos.h (h8300_expand_epilogue): Add new
argument.
* config/h8300/jumpcall.md (call, call_value): Restrict to
!SIBLING_CALL_P cases.
(subcall, sibcall_value): New patterns & expanders.
* config/h8300/proepi.md (epilogue): Pass new argument to
h8300_expand_epilogue.
(sibcall_epilogue): New expander.
* config/h8300/h8300.c (h8300_expand_epilogue): Handle sibcall
epilogues too.
(h8300_ok_for_sibcall_p): New function.
(TARGET_FUNCTION_OK_FOR_SIBCALL): define.
gcc/config/h8300/h8300-protos.h
gcc/config/h8300/h8300.c
gcc/config/h8300/jumpcall.md
gcc/config/h8300/proepi.md