diff options
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 83c9b1021be..00391cbcb2a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,70 @@ +2011-06-22 Jakub Jelinek <jakub@redhat.com> + + PR debug/47858 + * gimple.h (enum gimple_debug_subcode): Add GIMPLE_DEBUG_SOURCE_BIND. + (gimple_build_debug_source_bind_stat): New prototype. + (gimple_build_debug_source_bind): Define. + (gimple_debug_source_bind_p, gimple_debug_source_bind_get_var, + gimple_debug_source_bind_get_value, + gimple_debug_source_bind_get_value_ptr, + gimple_debug_source_bind_set_var, + gimple_debug_source_bind_set_value): New inlines. + * gimple.c (gimple_build_debug_source_bind_stat): New function. + * gimple-pretty-print.c (dump_gimple_debug): Handle + GIMPLE_DEBUG_SOURCE_BIND. + * sese.c (rename_uses): Handle gimple_debug_source_bind_p. + * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise. + * tree-parloops.c (eliminate_local_variables, + separate_decls_in_region): Likewise. + (separate_decls_in_region_debug): Renamed from + separate_decls_in_region_debug_bind. Handle + gimple_debug_source_bind_p. + * tree.h (decl_debug_args_lookup, decl_debug_args_insert): New + prototypes. + (DECL_HAS_DEBUG_ARGS_P): Define. + (struct tree_function_decl): Add has_debug_args_flag field. + * tree.c (debug_args_for_decl): New variable. + (decl_debug_args_lookup, decl_debug_args_insert): New functions. + * tree-into-ssa.c (mark_def_sites): Handle uses in debug stmts. + (rewrite_debug_stmt_uses): New function. + (rewrite_stmt): Use it to rewrite debug stmt uses. + * rtl.def (DEBUG_PARAMETER_REF): New. + * rtl.h (DEBUG_PARAMETER_REF_DECL): Define. + * cselib.c (rtx_equal_for_cselib_1, cselib_hash_rtx): Handle + DEBUG_PARAMETER_REF. + * rtl.c (rtx_equal_p_cb, rtx_equal_p, iterative_hash_rtx): Likewise. + * print-rtl.c (print_rtx): Likewise. + * tree-sra.c (sra_ipa_reset_debug_stmts): Prefer replacing of + SSA_NAMEs with DEBUG_EXPR_DECLs initialized in source bind + debug stmts in the first bb. + * tree-inline.c (remap_ssa_name): If remapping default def + of a PARM_DECL fails, map to a DEBUG_EXPR_DECL set in + a source bind debug stmt. + (remap_gimple_stmt): Handle gimple_debug_source_bind_p. + (maybe_move_debug_stmts_to_successors): Likewise. + (copy_debug_stmt): Likewise. Avoid shadowing a variable. + (tree_function_versioning): If DECL_HAS_DEBUG_ARGS_P, copy + debug args vector from old_decl to new_decl. + * ipa-prop.c (ipa_modify_call_arguments): For optimized away + or modified parameters, add debug bind stmts before call + setting DEBUG_EXPR_DECL which is remembered in debug args + vector. + * cfgexpand.c (expand_call_stmt): Call expand_debug_expr + on DECL_DEBUG_EXPRs from debug args vector. + (expand_debug_source_expr): New function. + (expand_debug_locations): Use it for source bind insns. + (expand_gimple_basic_block): Handle gimple_debug_source_bind_p. + * var-tracking.c (prepare_call_arguments): Add debug args + to call_arguments if any. + * dwarf2out.c (dwarf_stack_op_name, size_of_loc_descr, + output_loc_operands, output_loc_operands_raw, + resolve_addr_in_expr, compare_loc_operands): Handle + DW_OP_GNU_parameter_ref. + (get_ref_die_offset, parameter_ref_descriptor): New functions. + (mem_loc_descriptor): Handle DEBUG_PARAMETER_REF. + (gen_subprogram_die): Handle parameters identified by + DEBUG_PARAMETER_REF. + 2011-06-22 Nathan Sidwell <nathan@codesourcery.com> * doc/invoke.texi (ARM Options): Document -mtls-dialect option. |