target.h (struct gcc_target): New field 'dwarf_handle_frame_unspec'.
authorEric Botcazou <ebotcazou@libertysurf.fr>
Fri, 26 Nov 2004 19:21:16 +0000 (20:21 +0100)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Fri, 26 Nov 2004 19:21:16 +0000 (19:21 +0000)
commite54c7471819ee8dc9e4ba0ada1db242bd5bd68ed
treec465f270ce510064453ef668b699763e5cde22f5
parent077094ace3c976aafd620af5f4291389e0b4e0e4
target.h (struct gcc_target): New field 'dwarf_handle_frame_unspec'.

* target.h (struct gcc_target): New field 'dwarf_handle_frame_unspec'.
* target_def.h (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to 0.
(TARGET_INITIALIZER): Add TARGET_DWARF_HANDLE_FRAME_UNSPEC.
* dwarf2out.c (dwarf2out_frame_debug_expr): Allow REG->REG move
to a fixed reg if the source is the Return Address register.
Implement new Rule 15.
* doc/tm.texi (Frame Layout): Document TARGET_DWARF_HANDLE_FRAME_UNSPEC.
* config/sparc/sparc.c (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to
sparc_dwarf_handle_frame_unspec.
(gen_save_register_window): New function.
(emit_stack_pointer_increment): Rename into gen_stack_pointer_inc.
(emit_stack_pointer_decrement): Rename into gen_stack_pointer_dec.
(expand_prologue): Adjust calls to emit_stack_pointer_{in,de}crement.
Set RTX_FRAME_RELATED_P on the appropriate insns and members of insns.
(sparc_asm_function_prologue): Do not emit call frame debugging info.
(emit_and_preserve): Adjust calls to emit_stack_pointer_{in,de}crement.
(sparc_expand_epilogue): Likewise.
(sparc_dwarf_handle_frame_unspec): New function.
* config/sparc/sparc.md (save_register_window): Remove.
(save_register_windowdi): Rewrite modelled on the callframe debug info.
(save_register_windowsi): Likewise.

From-SVN: r91346
gcc/ChangeLog
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.md
gcc/doc/tm.texi
gcc/dwarf2out.c
gcc/target-def.h
gcc/target.h