diff options
author | Kenneth Zadeck <zadeck@naturalbridge.com> | 2007-06-21 16:24:59 +0000 |
---|---|---|
committer | Kenneth Zadeck <zadeck@gcc.gnu.org> | 2007-06-21 16:24:59 +0000 |
commit | e44e043cb31d2cbac67dde6e529fd0fd804f384c (patch) | |
tree | 13d8769b46b55aea4710e6ce9c5920176d2586c3 | |
parent | 4228997795917ab648bc7b58b9497e877ae8b92a (diff) | |
download | gcc-e44e043cb31d2cbac67dde6e529fd0fd804f384c.zip gcc-e44e043cb31d2cbac67dde6e529fd0fd804f384c.tar.gz gcc-e44e043cb31d2cbac67dde6e529fd0fd804f384c.tar.bz2 |
df-problems.c (df_note_bb_compute): Made computation of live info consistent with df_lr.
2007-06-21 Kenneth Zadeck <zadeck@naturalbridge.com>
* df-problems.c (df_note_bb_compute): Made computation of live
info consistent with df_lr.
From-SVN: r125924
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/df-problems.c | 13 |
2 files changed, 16 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4e0d1dd..781a421 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-06-21 Kenneth Zadeck <zadeck@naturalbridge.com> + + * df-problems.c (df_note_bb_compute): Made computation of live + info consistent with df_lr. + 2007-06-21 Richard Guenther <rguenther@suse.de> PR tree-optimization/32453 diff --git a/gcc/df-problems.c b/gcc/df-problems.c index 101b46f..6097908 100644 --- a/gcc/df-problems.c +++ b/gcc/df-problems.c @@ -46,6 +46,9 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA #include "dce.h" #include "vecprim.h" +/* Note that turning REG_DEAD_DEBUGGING on will cause + gcc.c-torture/unsorted/dump-noaddr.c to fail because it prints + addresses in the dumps. */ #if 0 #define REG_DEAD_DEBUGGING #endif @@ -3960,8 +3963,8 @@ df_note_bb_compute (unsigned int bb_index, df_print_regset (dump_file, live); } #endif - /* We only care about real sets for calls. Clobbers only - may clobbers cannot be depended on. */ + /* We only care about real sets for calls. Clobbers cannot + be depended on to really die. */ mws_rec = DF_INSN_UID_MWS (uid); while (*mws_rec) { @@ -3985,6 +3988,12 @@ df_note_bb_compute (unsigned int bb_index, = df_create_unused_note (insn, old_unused_notes, def, live, do_not_gen, artificial_uses); + + /* However a may or must clobber still needs to kill the + reg so that REG_DEAD notes are later placed + appropriately. */ + else + bitmap_clear_bit (live, DF_REF_REGNO (def)); } } else |