Patchwork Word DCE DEBUG_INSN problems

login
register
mail settings
Submitter Bernd Schmidt
Date Aug. 4, 2010, 9:08 p.m.
Message ID <4C59D6D2.9040509@codesourcery.com>
Download mbox | patch
Permalink /patch/60896/
State New
Headers show

Comments

Bernd Schmidt - Aug. 4, 2010, 9:08 p.m.
Because the old byte_dce and byte_lr code was disabled, it was never
updated to ignore DEBUG_INSNs, which caused regressions for some folks.
 I committed the following as obvious after bootstrap and test on
i686-linux.


Bernd

Patch

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 162880)
+++ ChangeLog	(working copy)
@@ -1,3 +1,9 @@ 
+2010-08-04  Bernd Schmidt  <bernds@codesourcery.com>
+
+	PR rtl-optimization/45162
+	* df-problems.c (df_word_lr_bb_local_compute): Ignore DEBUG_INSNs.
+	* dce.c (word_dce_process_block): Likewise.
+
 2010-08-04  Steve Ellcey  <sje@cup.hp.com>
 
 	PR target/44583
Index: dce.c
===================================================================
--- dce.c	(revision 162821)
+++ dce.c	(working copy)
@@ -795,7 +795,7 @@  word_dce_process_block (basic_block bb, 
   bitmap_copy (local_live, DF_WORD_LR_OUT (bb));
 
   FOR_BB_INSNS_REVERSE (bb, insn)
-    if (INSN_P (insn))
+    if (NONDEBUG_INSN_P (insn))
       {
 	bool any_changed;
 	/* No matter if the instruction is needed or not, we remove
Index: df-problems.c
===================================================================
--- df-problems.c	(revision 162821)
+++ df-problems.c	(working copy)
@@ -2472,7 +2472,7 @@  df_word_lr_bb_local_compute (unsigned in
     {
       unsigned int uid = INSN_UID (insn);
 
-      if (!INSN_P (insn))
+      if (!NONDEBUG_INSN_P (insn))
 	continue;
       for (def_rec = DF_INSN_UID_DEFS (uid); *def_rec; def_rec++)
 	{