aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2011-07-15 17:09:56 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2011-07-15 17:09:56 +0000
commit12c5ffe5ef1929bab592f54d197ad7fd677c9905 (patch)
tree50c59d144fb0377196004267e3d65142ab7825c9 /gcc/doc
parent021a9e7ef276ac9c00e72a5fd676f20b6d6b36c0 (diff)
downloadgcc-12c5ffe5ef1929bab592f54d197ad7fd677c9905.zip
gcc-12c5ffe5ef1929bab592f54d197ad7fd677c9905.tar.gz
gcc-12c5ffe5ef1929bab592f54d197ad7fd677c9905.tar.bz2
re PR debug/48220 (DW_OP_GNU_entry_value/DW_TAG_GNU_call_site_parameter vs register window)
PR target/48220 * doc/md.texi (Standard Names): Document window_save. * cfgexpand.c (expand_debug_parm_decl): New function extracted from expand_debug_expr and expand_debug_source_expr. If the target has a window_save instruction, adjust the ENTRY_VALUE_EXP. (expand_debug_expr) <SSA_NAME>: Call expand_debug_parm_decl if the SSA_NAME_VAR is a parameter. (expand_debug_source_expr) <PARM_DECL>: Call expand_debug_parm_decl. * var-tracking.c (parm_reg_t): New type and associated vector type. (windowed_parm_regs): New variable. (adjust_insn): If the target has a window_save instruction and this is the instruction, make its effect on parameter registers explicit. (next_non_note_insn_var_location): New function. (emit_notes_in_bb): Use it instead of NEXT_INSN throughout. (vt_add_function_parameter): If the target has a window_save insn, adjust the incoming RTL and record that in windowed_parm_regs. (vt_finalize): Free windowed_parm_regs. From-SVN: r176318
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/md.texi8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index 23047ca..1f08dae 100644
--- a/gcc/doc/md.texi
+++ b/gcc/doc/md.texi
@@ -5333,6 +5333,14 @@ Using a prologue pattern is generally preferred over defining
The @code{prologue} pattern is particularly useful for targets which perform
instruction scheduling.
+@cindex @code{window_save} instruction pattern
+@anchor{window_save instruction pattern}
+@item @samp{window_save}
+This pattern, if defined, emits RTL for a register window save. It should
+be defined if the target machine has register windows but the window events
+are decoupled from calls to subroutines. The canonical example is the SPARC
+architecture.
+
@cindex @code{epilogue} instruction pattern
@anchor{epilogue instruction pattern}
@item @samp{epilogue}