OSDN Git Service

PR target/40603
[pf3gnuchains/gcc-fork.git] / gcc / df-scan.c
index 6c8c42b..c7548f6 100644 (file)
@@ -1,6 +1,6 @@
 /* Scanning of rtl for dataflow analysis.
    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-   2008, 2009  Free Software Foundation, Inc.
+   2008, 2009, 2010 Free Software Foundation, Inc.
    Originally contributed by Michael P. Hayes
              (m.hayes@elec.canterbury.ac.nz, mhayes@redhat.com)
    Major rewrite contributed by Danny Berlin (dberlin@dberlin.org)
@@ -1301,7 +1301,10 @@ df_insn_rescan (rtx insn)
     }
 
   df_refs_add_to_chains (&collection_rec, bb, insn);
-  df_set_bb_dirty (bb);
+  if (DEBUG_INSN_P (insn))
+    df_set_bb_dirty_nonlr (bb);
+  else
+    df_set_bb_dirty (bb);
 
   VEC_free (df_ref, stack, collection_rec.def_vec);
   VEC_free (df_ref, stack, collection_rec.use_vec);
@@ -2393,7 +2396,7 @@ df_ref_compare (const void *r1, const void *r2)
       if (DF_REF_EXTRACT_MODE (ref1) != DF_REF_EXTRACT_MODE (ref2))
        return DF_REF_EXTRACT_MODE (ref1) - DF_REF_EXTRACT_MODE (ref2);
     }
-  return 0;
+  return (int)DF_REF_ORDER (ref1) - (int)DF_REF_ORDER (ref2);
 }
 
 static void