[Bug debug/43161] Wrong debug info in guality/vla-1.c (f2)

jakub at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Feb 26 11:02:00 GMT 2010



------- Comment #2 from jakub at gcc dot gnu dot org  2010-02-26 11:01 -------
Subject: Bug 43161

Author: jakub
Date: Fri Feb 26 11:01:28 2010
New Revision: 157083

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157083
Log:
        PR debug/43161
        * regcprop.c (struct queued_debug_insn_change): New type.
        (struct value_data_entry): Add debug_insn_changes field.
        (struct value_data): Add n_debug_insn_changes field.
        (debug_insn_changes_pool): New variable.
        (free_debug_insn_changes, apply_debug_insn_changes,
        cprop_find_used_regs_1, cprop_find_used_regs): New functions.
        (kill_value_one_regno): Call free_debug_insn_changes if needed.
        (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
        fields.
        (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
        changes for them.
        (copyprop_hardreg_forward_1): Don't call apply_change_group for
        DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
        changes, call cprop_find_used_regs via note_stores.
        (copyprop_hardreg_forward): When copying vd from predecessor
        which has any queued DEBUG_INSN changes, make sure the pointers are
        cleared.  At the end call df_analyze and then if there are any
        DEBUG_INSN changes queued at the end of some basic block for still
        live registers, apply them.
        (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/regcprop.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43161



More information about the Gcc-bugs mailing list