OSDN Git Service

* df-scan.c (df_ref_create): Don't mark BB as dirty on debug insns.
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 Nov 2009 06:02:12 +0000 (06:02 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 18 Nov 2009 06:02:12 +0000 (06:02 +0000)
(df_ref_remove): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154278 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/df-scan.c

index c19ae95..c3115b1 100644 (file)
@@ -1,3 +1,8 @@
+2009-11-18  Alexandre Oliva  <aoliva@redhat.com>
+
+       * df-scan.c (df_ref_create): Don't mark BB as dirty on debug insns.
+       (df_ref_remove): Likewise.
+
 2009-11-17  Jan Hubicka  <jh@suse.cz>
 
        * ipa-struct-reorg.c (update_cgraph_with_malloc_call): Fix profile
index 101234b..c12c00e 100644 (file)
@@ -829,7 +829,8 @@ df_ref_create (rtx reg, rtx *loc, rtx insn,
   /* By adding the ref directly, df_insn_rescan my not find any
      differences even though the block will have changed.  So we need
      to mark the block dirty ourselves.  */  
-  df_set_bb_dirty (bb);
+  if (!DEBUG_INSN_P (DF_REF_INSN (ref)))
+    df_set_bb_dirty (bb);
 
   return ref;
 }
@@ -1027,7 +1028,8 @@ df_ref_remove (df_ref ref)
   /* By deleting the ref directly, df_insn_rescan my not find any
      differences even though the block will have changed.  So we need
      to mark the block dirty ourselves.  */  
-  df_set_bb_dirty (DF_REF_BB (ref));
+  if (!DEBUG_INSN_P (DF_REF_INSN (ref)))
+    df_set_bb_dirty (DF_REF_BB (ref));
   df_reg_chain_unlink (ref);
 }