cfg.c (dump_flow_info): Get dump flags as an additional parameter.
authorPaolo Bonzini <bonzini@gnu.org>
Wed, 15 Feb 2006 09:15:56 +0000 (09:15 +0000)
committerPaolo Bonzini <bonzini@gcc.gnu.org>
Wed, 15 Feb 2006 09:15:56 +0000 (09:15 +0000)
2006-02-15  Paolo Bonzini  <bonzini@gnu.org>

* cfg.c (dump_flow_info): Get dump flags as an additional parameter.
(debug_flow_info): Pass it.
* alias.c (rest_of_handle_cfg): Adjust calls to dump_flow_info.
* bb-reorder.c (reorder_basic_blocks): Likewise.
* cfgcleanup.c (rest_of_handle_jump2): Likewise.
* cse.c (rest_of_handle_cse, rest_of_handle_cse2): Likewise.
* flow.c (life_analysis, recompute_reg_usage): Likewise.
* gcse.c (gcse_main, bypass_jumps): Likewise.
* ifcvt.c (rest_of_handle_if_conversion): Likewise.
* local-alloc.c (rest_of_handle_local_alloc): Likewise.
* loop-init.c (rtl_loop_init, rtl_loop_done): Likewise.
* profile.c (compute_branch_probabilities, branch_prob): Likewise.
* rtl.h (dump_flow_info): Adjust prototype.
* tracer.c (rest_of_handle_tracer, tracer): Likewise.
* var-tracking.c (variable_tracking_main): Likewise.
* passes.c (execute_todo): Obey TDF_BLOCKS for RTL.
* tree-dump.c (enable_rtl_dump_file): Enable the details and blocks
options.

From-SVN: r111020

17 files changed:
gcc/ChangeLog
gcc/alias.c
gcc/bb-reorder.c
gcc/cfg.c
gcc/cfgcleanup.c
gcc/cse.c
gcc/flow.c
gcc/gcse.c
gcc/ifcvt.c
gcc/local-alloc.c
gcc/loop-init.c
gcc/passes.c
gcc/profile.c
gcc/rtl.h
gcc/tracer.c
gcc/tree-dump.c
gcc/var-tracking.c

index b7fb2516858a8c6a346a211b5b861f1115314ff2..a5ed7445b3a8712bc3e941a780fbe51d6cc8565c 100644 (file)
@@ -1,3 +1,24 @@
+2006-02-15  Paolo Bonzini  <bonzini@gnu.org>
+
+       * cfg.c (dump_flow_info): Get dump flags as an additional parameter.
+       (debug_flow_info): Pass it.
+       * alias.c (rest_of_handle_cfg): Adjust calls to dump_flow_info.
+       * bb-reorder.c (reorder_basic_blocks): Likewise.
+       * cfgcleanup.c (rest_of_handle_jump2): Likewise.
+       * cse.c (rest_of_handle_cse, rest_of_handle_cse2): Likewise.
+       * flow.c (life_analysis, recompute_reg_usage): Likewise.
+       * gcse.c (gcse_main, bypass_jumps): Likewise.
+       * ifcvt.c (rest_of_handle_if_conversion): Likewise.
+       * local-alloc.c (rest_of_handle_local_alloc): Likewise.
+       * loop-init.c (rtl_loop_init, rtl_loop_done): Likewise.
+       * profile.c (compute_branch_probabilities, branch_prob): Likewise.
+       * rtl.h (dump_flow_info): Adjust prototype.
+       * tracer.c (rest_of_handle_tracer, tracer): Likewise.
+       * var-tracking.c (variable_tracking_main): Likewise.
+       * passes.c (execute_todo): Obey TDF_BLOCKS for RTL.
+       * tree-dump.c (enable_rtl_dump_file): Enable the details and blocks
+       options.
+
 2006-02-15  Marcin Dalecki <martin@dalecki.de>
 
        * tree-ssa-dom.c (dom_thread_across_edge): fix tag expression
index 717c7b1b1230783a96457342d5220c54cab91eb6..cb5f5dbfcd14fe6c4e2c062963c21d84a87d1fb9 100644 (file)
@@ -2710,7 +2710,7 @@ static void
 rest_of_handle_cfg (void)
 {
   if (dump_file)
-    dump_flow_info (dump_file);
+    dump_flow_info (dump_file, dump_flags);
   if (optimize)
     cleanup_cfg (CLEANUP_EXPENSIVE
                  | (flag_thread_jumps ? CLEANUP_THREADING : 0));
index 73c759705a21c719ee7e291ef5b933923d08f6d5..640907081e75c2298099b8e9ee9d299749b79020 100644 (file)
@@ -1930,7 +1930,7 @@ reorder_basic_blocks (unsigned int flags)
   FREE (bbd);
 
   if (dump_file)
-    dump_flow_info (dump_file);
+    dump_flow_info (dump_file, dump_flags);
 
   cfg_layout_finalize ();
   if (flag_reorder_blocks_and_partition)
index feac79bc71ccb6d4f5134d5ced93878e83167da7..1ed6f1f0742605a4bcb2ad99116f03bcf1f98d14 100644 (file)
--- a/gcc/cfg.c
+++ b/gcc/cfg.c
@@ -528,17 +528,13 @@ dump_bb_info (basic_block bb, bool header, bool footer, int flags,
 }
 
 void
-dump_flow_info (FILE *file)
+dump_flow_info (FILE *file, int flags)
 {
   basic_block bb;
 
-  if (file == dump_file
-      && (dump_flags & TDF_SLIM)
-      && !(dump_flags & TDF_DETAILS))
-    return;
-
   /* There are no pseudo registers after reload.  Don't dump them.  */
-  if (reg_n_info && !reload_completed)
+  if (reg_n_info && !reload_completed
+      && (flags & TDF_DETAILS) != 0)
     {
       unsigned int i, max = max_reg_num ();
       fprintf (file, "%d registers.\n", max);
@@ -589,7 +585,7 @@ dump_flow_info (FILE *file)
   fprintf (file, "\n%d basic blocks, %d edges.\n", n_basic_blocks, n_edges);
   FOR_EACH_BB (bb)
     {
-      dump_bb_info (bb, true, true, TDF_DETAILS, "", file);
+      dump_bb_info (bb, true, true, flags, "", file);
       check_bb_profile (bb, file);
     }
 
@@ -599,7 +595,7 @@ dump_flow_info (FILE *file)
 void
 debug_flow_info (void)
 {
-  dump_flow_info (stderr);
+  dump_flow_info (stderr, TDF_DETAILS);
 }
 
 void
index 7be7e87818ceaf22b869d10004862a2b1b26c3ab..c2c262c6b6480d7a5a55a363019a127ed5a803f5 100644 (file)
@@ -2340,7 +2340,7 @@ rest_of_handle_jump2 (void)
   delete_trivially_dead_insns (get_insns (), max_reg_num ());
   reg_scan (get_insns (), max_reg_num ());
   if (dump_file)
-    dump_flow_info (dump_file);
+    dump_flow_info (dump_file, dump_flags);
   cleanup_cfg ((optimize ? CLEANUP_EXPENSIVE : 0) | CLEANUP_PRE_LOOP
                | (flag_thread_jumps ? CLEANUP_THREADING : 0));
 
index 0f902ba4735c3f288fd83bc74aeee99a3a4ff4e9..7d6f46b0a3563ade022c2956357a5fbd54c56895 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7844,7 +7844,7 @@ rest_of_handle_cse (void)
   int tem;
 
   if (dump_file)
-    dump_flow_info (dump_file);
+    dump_flow_info (dump_file, dump_flags);
 
   reg_scan (get_insns (), max_reg_num ());
 
@@ -7899,7 +7899,7 @@ rest_of_handle_cse2 (void)
   int tem;
 
   if (dump_file)
-    dump_flow_info (dump_file);
+    dump_flow_info (dump_file, dump_flags);
 
   tem = cse_main (get_insns (), max_reg_num ());
 
index ad4ab7c4d079564e93ff9399aea5b40c06f487ff..2e78674cf3e709e6a2214d3b62453b696318727b 100644 (file)
@@ -438,7 +438,7 @@ life_analysis (int flags)
     end_alias_analysis ();
 
   if (dump_file)
-    dump_flow_info (dump_file);
+    dump_flow_info (dump_file, dump_flags);
 
   /* Removing dead insns should have made jumptables really dead.  */
   delete_dead_jumptables ();
@@ -4420,7 +4420,7 @@ recompute_reg_usage (void)
   update_life_info (NULL, UPDATE_LIFE_LOCAL, PROP_REG_INFO | PROP_DEATH_NOTES);
 
   if (dump_file)
-    dump_flow_info (dump_file);
+    dump_flow_info (dump_file, dump_flags);
 }
 
 struct tree_opt_pass pass_recompute_reg_usage =
index c763678c0116afedfcc987fa8db6d1e1955a33ac..93c366b7dbe7696017b8f17791553a5aa762923b 100644 (file)
@@ -674,7 +674,7 @@ gcse_main (rtx f ATTRIBUTE_UNUSED)
   max_gcse_regno = max_reg_num ();
 
   if (dump_file)
-    dump_flow_info (dump_file);
+    dump_flow_info (dump_file, dump_flags);
 
   /* Return if there's nothing to do, or it is too expensive.  */
   if (n_basic_blocks <= NUM_FIXED_BLOCKS + 1
@@ -6519,7 +6519,7 @@ bypass_jumps (void)
   max_gcse_regno = max_reg_num ();
 
   if (dump_file)
-    dump_flow_info (dump_file);
+    dump_flow_info (dump_file, dump_flags);
 
   /* Return if there's nothing to do, or it is too expensive.  */
   if (n_basic_blocks <= NUM_FIXED_BLOCKS + 1
index d9193409435941b13eba96f8fe1f73724ee14d64..5d156a6caeb69f7c0fd18b5d729794a7d314cf5a 100644 (file)
@@ -3902,7 +3902,7 @@ rest_of_handle_if_conversion (void)
   if (flag_if_conversion)
     {
       if (dump_file)
-        dump_flow_info (dump_file);
+        dump_flow_info (dump_file, dump_flags);
       cleanup_cfg (CLEANUP_EXPENSIVE);
       reg_scan (get_insns (), max_reg_num ());
       if_convert (0);
index 8ba94473a83ede3fda0945ca8f6ca8f4ed4b452e..d22e9e736fb47c96ffa6ba9697b214d9a8a4887d 100644 (file)
@@ -2559,10 +2559,10 @@ rest_of_handle_local_alloc (void)
       timevar_pop (TV_JUMP);
     }
 
-  if (dump_enabled_p (pass_local_alloc.static_pass_number))
+  if (dump_file && (dump_flags & TDF_DETAILS))
     {
       timevar_push (TV_DUMP);
-      dump_flow_info (dump_file);
+      dump_flow_info (dump_file, dump_flags);
       dump_local_alloc (dump_file);
       timevar_pop (TV_DUMP);
     }
index 51ad1dad3785b04651e7b857a6086e18f8455ce7..bf13fd0948d3847b8d29316ffd89386e2031efb0 100644 (file)
@@ -168,7 +168,7 @@ static void
 rtl_loop_init (void)
 {
   if (dump_file)
-    dump_flow_info (dump_file);
+    dump_flow_info (dump_file, dump_flags);
 
   /* Initialize structures for layout changes.  */
   cfg_layout_initialize (0);
@@ -215,7 +215,7 @@ rtl_loop_done (void)
   delete_trivially_dead_insns (get_insns (), max_reg_num ());
   reg_scan (get_insns (), max_reg_num ());
   if (dump_file)
-    dump_flow_info (dump_file);
+    dump_flow_info (dump_file, dump_flags);
 
   current_loops = NULL;
 }
index 2e7f0b53b32edea3f6994ce70d624debfa439f0c..2845ab7c88002d4d049e80bc4b9511c9ff90b2d9 100644 (file)
@@ -756,7 +756,7 @@ execute_todo (unsigned int flags)
        {
          if (dump_flags & TDF_SLIM)
            print_rtl_slim_with_bb (dump_file, get_insns (), dump_flags);
-         else if (curr_properties & PROP_cfg)
+         else if ((curr_properties & PROP_cfg) && (dump_flags & TDF_BLOCKS))
            print_rtl_with_bb (dump_file, get_insns ());
           else
            print_rtl (dump_file, get_insns ());
index 614e7366945db09bb9c8b22cdefcad4be90a9010..d3bce07b8e9b7e44c2c7f924bcde82c279e12606 100644 (file)
@@ -465,7 +465,7 @@ compute_branch_probabilities (void)
        }
     }
   if (dump_file)
-    dump_flow_info (dump_file);
+    dump_flow_info (dump_file, dump_flags);
 
   total_num_passes += passes;
   if (dump_file)
@@ -1150,7 +1150,7 @@ branch_prob (void)
         insert_insn_on_edge.  */
       cleanup_cfg (profile_arc_flag ? CLEANUP_EXPENSIVE : 0);
       if (dump_file)
-       dump_flow_info (dump_file);
+       dump_flow_info (dump_file, dump_flags);
     }
 
   free_edge_list (el);
index 56544b4d670deba839e4fda23da11a1ddd75035b..6244b29bf4a5129dfcdfca35ec1d9cbfafb27a78 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -2048,7 +2048,7 @@ extern rtx move_by_pieces (rtx, rtx, unsigned HOST_WIDE_INT,
 extern void recompute_reg_usage (void);
 extern void delete_dead_jumptables (void);
 extern void print_rtl_with_bb (FILE *, rtx);
-extern void dump_flow_info (FILE *);
+extern void dump_flow_info (FILE *, int);
 
 /* In expmed.c */
 extern void init_expmed (void);
index e61f8202fd6e221d7a6353d385f65c129ea2adef..fc4aed7c9c7dc6d2008cd142eac54b7381b5d20b 100644 (file)
@@ -369,11 +369,11 @@ tracer (unsigned int flags)
   cfg_layout_initialize (flags);
   mark_dfs_back_edges ();
   if (dump_file)
-    dump_flow_info (dump_file);
+    dump_flow_info (dump_file, dump_flags);
   tail_duplicate ();
   layout_superblocks ();
   if (dump_file)
-    dump_flow_info (dump_file);
+    dump_flow_info (dump_file, dump_flags);
   cfg_layout_finalize ();
 
   /* Merge basic blocks in duplicated traces.  */
@@ -391,7 +391,7 @@ static void
 rest_of_handle_tracer (void)
 {
   if (dump_file)
-    dump_flow_info (dump_file);
+    dump_flow_info (dump_file, dump_flags);
   tracer (0);
   cleanup_cfg (CLEANUP_EXPENSIVE);
   reg_scan (get_insns (), max_reg_num ());
index 49862ed24e9066f381f1b4778b17bf0e8f63a2da..c5663e287c8c367d077a94682f5da463c6f45e40 100644 (file)
@@ -1067,7 +1067,7 @@ enable_rtl_dump_file (int letter)
   if (letter == 'a')
     letter = 0;
 
-  return dump_enable_all (TDF_RTL, letter) > 0;
+  return dump_enable_all (TDF_RTL | TDF_DETAILS | TDF_BLOCKS, letter) > 0;
 }
 
 
index 40e1e424d38cf1c23a59753e0ec488d565a6d0df..2d73deff45c69c8abd0d3d63d4a6ec6a2cbb536b 100644 (file)
@@ -2696,10 +2696,10 @@ variable_tracking_main (void)
   vt_find_locations ();
   vt_emit_notes ();
 
-  if (dump_file)
+  if (dump_file && (dump_flags & TDF_DETAILS))
     {
       dump_dataflow_sets ();
-      dump_flow_info (dump_file);
+      dump_flow_info (dump_file, dump_flags);
     }
 
   vt_finalize ();