]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/df-problems.c
re PR debug/54551 (DF resets some DEBUG_INSNs unnecessarily)
authorAlexandre Oliva <aoliva@redhat.com>
Tue, 2 Oct 2012 20:06:08 +0000 (20:06 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Tue, 2 Oct 2012 20:06:08 +0000 (20:06 +0000)
commite9f950ba0d521f1a3c0599eebab1f62466b9d218
treec5ddc0d1a51185fc60b47f6189eb5c1a1153d6a4
parent58b88be9de291c59e070fa090bc56b975c693062
re PR debug/54551 (DF resets some DEBUG_INSNs unnecessarily)

gcc/ChangeLog:
PR debug/54551
* Makefile.in (VALTRACK_H): Add hash-table.h.
* valtrack.h: Include hash-table.h.
(struct dead_debug_global_entry): New.
(struct dead_debug_hash_descr): New.
(struct dead_debug_global): New.
(struct dead_debug): Rename to...
(struct dead_debug_local): ... this.  Adjust all uses.
(dead_debug_global_init, dead_debug_global_finish): New.
(dead_debug_init): Rename to...
(dead_debug_local_init): ... this.  Adjust all callers.
(dead_debug_finish): Rename to...
(dead_debug_local_finish): ... this.  Adjust all callers.
* valtrack.c (dead_debug_global_init): New.
(dead_debug_init): Rename to...
(dead_debug_local_init): ... this.  Take global parameter.
Save it and initialize used bitmap from it.
(dead_debug_global_find, dead_debug_global_insert): New.
(dead_debug_global_replace_temp): New.
(dead_debug_promote_uses): New.
(dead_debug_finish): Rename to...
(dead_debug_local_finish): ... this.  Promote remaining uses.
(dead_debug_global_finish): New.
(dead_debug_add): Try to replace global temps first.
(dead_debug_insert_temp): Support global replacements.
* dce.c (word_dce_process_block, dce_process_block): Add
global_debug parameter.  Pass it on.
(fast_dce): Initialize, pass on and finalize global_debug.
* df-problems.c (df_set_unused_notes_for_mw): Adjusted.
(df_create_unused_notes, df_note_bb_compute): Likewise.
(df_note_compute): Justify local-only dead debug analysis.
gcc/testsuite/ChangeLog:
PR debug/54551
* gcc.dg/guality/pr54551.c: New.

From-SVN: r192001
gcc/ChangeLog
gcc/Makefile.in
gcc/dce.c
gcc/df-problems.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/guality/pr54551.c [new file with mode: 0644]
gcc/valtrack.c
gcc/valtrack.h