PR target/15130
commit66209063d5a209edc41e992b25efa3061b4b26e6
authorkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 May 2004 23:25:13 +0000 (10 23:25 +0000)
committerkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 May 2004 23:25:13 +0000 (10 23:25 +0000)
treeaeb2d5e436b16aa338bd7429b2513cc5e20811c8
parent5c0dc02c159cc44067e3e9f8fc8d5770ec81ba7b
PR target/15130
* config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
* config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue
into account.  Compute the correct number of general registers
for the return value.  Generate a special push/pop sequence when
failing to get a temporary register for non SHmedia epilogue.
(sh_expand_epilogue): Add an argument to show whether it's for
sibcall or not.  Set the 3rd argument of output_stack_adjust to
-1 if needed.
(sh_need_epilogue): Call sh_expand_epilogue with 0.
* config/sh/sh.md (sibcall_epilogue): Call sh_expand_epilogue
with 1.
(epilogue): Call sh_expand_epilogue with 0.

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