sh.c (trap_exit, sp_switch): New variables.
authorJeff Law <law@gcc.gnu.org>
Thu, 5 Jun 1997 15:52:34 +0000 (09:52 -0600)
committerJeff Law <law@gcc.gnu.org>
Thu, 5 Jun 1997 15:52:34 +0000 (09:52 -0600)
commit4408efce8bfbf2dc378dbc77416f5fd0d96b3f81
treed5842c80a99dd931b8bff0664169a4ac2160a951
parent916b1701c2f14c41c71a8dc6816e49a24e9609e4
sh.c (trap_exit, sp_switch): New variables.

* sh.c (trap_exit, sp_switch): New variables.
(print_operand, case '@'): If trap_exit is nonzero, then use
a trapa instead of an rte/rts to exit the current function.
(sh_expand_prologue): Switch stacks at function entry as needed.
(sh_expand_epilogue): Similarly at function exit.
(function_epilogue): Clear trap_exit and sp_switch too.
(sh_valid_machine_decl_attribute): New function.
* sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Define.
(sp_switch): Declare.
* sh.md (sp_switch_1, sp_switch_2): New named patterns.

From-SVN: r14148
gcc/config/sh/sh.c
gcc/config/sh/sh.h
gcc/config/sh/sh.md