Skip to content
Snippets Groups Projects
  • Eric Botcazou's avatar
    12c5ffe5
    re PR debug/48220 (DW_OP_GNU_entry_value/DW_TAG_GNU_call_site_parameter vs register window) · 12c5ffe5
    Eric Botcazou authored
    	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
    12c5ffe5
    History
    re PR debug/48220 (DW_OP_GNU_entry_value/DW_TAG_GNU_call_site_parameter vs register window)
    Eric Botcazou authored
    	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