OSDN Git Service

* config/alpha/alpha.c (struct machine_function): New flag for VMS,
authorrupp <rupp@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 Aug 2009 04:38:02 +0000 (04:38 +0000)
committerrupp <rupp@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 Aug 2009 04:38:02 +0000 (04:38 +0000)
commit50f36bdbffd90bd6d00fc968429cad748d5e1d8c
treef94897c69f91dfc8c84467b5f742fe05f551e72f
parentc45d3ddf9f8a995d8cf16e9a87932887406e799c
* config/alpha/alpha.c (struct machine_function): New flag for VMS,
uses_condition_handler.
(alpha_expand_builtin_establish_vms_condition_handler): New expander.
(alpha_expand_builtin_revert_vms_condition_handler): New expander.
(enum alpha_builtin): New ALPHA_BUILTIN_REVERT_VMS_CONDITION_HANDLER
and ALPHA_BUILTIN_ESTABLISH_VMS_CONDITION_HANDLER values.
(code_for_builtin): New insn codes for the new alpha_builtins.
(alpha_init_builtins): Register the new functions as BUILT_IN_MD.
(alpha_sa_size): Account for uses_condition_handler.
(alpha_expand_prologue): Likewise.
(alpha_start_function): Likewise.
(alpha_expand_epilogue): Likewise.
* config/alpha/alpha-protos.h: Prototype the new alpha.c builtin
establish/revert expanders.
* config/alpha/alpha.h (DWARF_FRAME_REGNUM): Define.
* config/alpha/alpha.md (builtin_establish_vms_condition_handler):
New expander, resorting to the alpha.c associated function.
(builtin_revert_vms_condition_handler): Likewise.
* config/alpha/vms-gcc_shell_handler.c: New file. Implements
__gcc_shell_handler, the static VMS condition handler used as
an indirection wrapper to the current dynamically established
handler.
* config/alpha/vms-unwind.h: Complete rewrite.
* config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms-gcc_shell_handler.c
* config/alpha/vms.h (MD_UNWIND_SUPPORT):

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150612 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/alpha/alpha-protos.h
gcc/config/alpha/alpha.c
gcc/config/alpha/alpha.h
gcc/config/alpha/alpha.md
gcc/config/alpha/t-vms
gcc/config/alpha/vms-gcc_shell_handler.c [new file with mode: 0644]
gcc/config/alpha/vms-unwind.h
gcc/config/alpha/vms.h