OSDN Git Service

2010-12-02 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / df-core.c
index 181c1e7..06ff854 100644 (file)
@@ -758,7 +758,7 @@ struct rtl_opt_pass pass_df_initialize_opt =
   NULL,                                 /* sub */
   NULL,                                 /* next */
   0,                                    /* static_pass_number */
-  TV_NONE,                              /* tv_id */
+  TV_DF_SCAN,                           /* tv_id */
   0,                                    /* properties_required */
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
@@ -785,7 +785,7 @@ struct rtl_opt_pass pass_df_initialize_no_opt =
   NULL,                                 /* sub */
   NULL,                                 /* next */
   0,                                    /* static_pass_number */
-  TV_NONE,                              /* tv_id */
+  TV_DF_SCAN,                           /* tv_id */
   0,                                    /* properties_required */
   0,                                    /* properties_provided */
   0,                                    /* properties_destroyed */
@@ -1427,29 +1427,6 @@ df_set_bb_dirty (basic_block bb)
 }
 
 
-/* Mark BB as needing it's transfer functions as being out of
-   date, except for LR problem.  Used when analyzing DEBUG_INSNs,
-   as LR problem can trigger DCE, and DEBUG_INSNs shouldn't ever
-   shorten or enlarge lifetime of regs.  */
-
-void
-df_set_bb_dirty_nonlr (basic_block bb)
-{
-  if (df)
-    {
-      int p;
-      for (p = 1; p < df->num_problems_defined; p++)
-       {
-         struct dataflow *dflow = df->problems_in_order[p];
-         if (dflow == df_lr)
-           continue;
-         if (dflow->out_of_date_transfer_functions)
-           bitmap_set_bit (dflow->out_of_date_transfer_functions, bb->index);
-         dflow->solutions_dirty = true;
-       }
-    }
-}
-
 /* Grow the bb_info array.  */
 
 void
@@ -2074,6 +2051,17 @@ df_dump_bottom (basic_block bb, FILE *file)
 }
 
 
+static void
+df_ref_dump (df_ref ref, FILE *file)
+{
+  fprintf (file, "%c%d(%d)",
+          DF_REF_REG_DEF_P (ref)
+          ? 'd'
+          : (DF_REF_FLAGS (ref) & DF_REF_IN_NOTE) ? 'e' : 'u',
+          DF_REF_ID (ref),
+          DF_REF_REGNO (ref));
+}
+
 void
 df_refs_chain_dump (df_ref *ref_rec, bool follow_chain, FILE *file)
 {
@@ -2081,10 +2069,7 @@ df_refs_chain_dump (df_ref *ref_rec, bool follow_chain, FILE *file)
   while (*ref_rec)
     {
       df_ref ref = *ref_rec;
-      fprintf (file, "%c%d(%d)",
-              DF_REF_REG_DEF_P (ref) ? 'd' : (DF_REF_FLAGS (ref) & DF_REF_IN_NOTE) ? 'e' : 'u',
-              DF_REF_ID (ref),
-              DF_REF_REGNO (ref));
+      df_ref_dump (ref, file);
       if (follow_chain)
        df_chain_dump (DF_REF_CHAIN (ref), file);
       ref_rec++;
@@ -2101,10 +2086,7 @@ df_regs_chain_dump (df_ref ref,  FILE *file)
   fprintf (file, "{ ");
   while (ref)
     {
-      fprintf (file, "%c%d(%d) ",
-              DF_REF_REG_DEF_P (ref) ? 'd' : 'u',
-              DF_REF_ID (ref),
-              DF_REF_REGNO (ref));
+      df_ref_dump (ref, file);
       ref = DF_REF_NEXT_REG (ref);
     }
   fprintf (file, "}");