summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-15 09:15:56 +0000
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-15 09:15:56 +0000
commit562d71e815ab06366be965829e291b264cfdd7b5 (patch)
tree1615cb62d40221497e159fa5d08ee5fb0cbdb56f /gcc
parent15348a37ae1808663e1cf7bf164e9e61b969f2e4 (diff)
downloadgcc-562d71e815ab06366be965829e291b264cfdd7b5.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111020 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog21
-rw-r--r--gcc/alias.c2
-rw-r--r--gcc/bb-reorder.c2
-rw-r--r--gcc/cfg.c14
-rw-r--r--gcc/cfgcleanup.c2
-rw-r--r--gcc/cse.c4
-rw-r--r--gcc/flow.c4
-rw-r--r--gcc/gcse.c4
-rw-r--r--gcc/ifcvt.c2
-rw-r--r--gcc/local-alloc.c4
-rw-r--r--gcc/loop-init.c4
-rw-r--r--gcc/passes.c2
-rw-r--r--gcc/profile.c4
-rw-r--r--gcc/rtl.h2
-rw-r--r--gcc/tracer.c6
-rw-r--r--gcc/tree-dump.c2
-rw-r--r--gcc/var-tracking.c4
17 files changed, 50 insertions, 33 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b7fb2516858..a5ed7445b3a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/alias.c b/gcc/alias.c
index 717c7b1b123..cb5f5dbfcd1 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -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));
diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
index 73c759705a2..640907081e7 100644
--- a/gcc/bb-reorder.c
+++ b/gcc/bb-reorder.c
@@ -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)
diff --git a/gcc/cfg.c b/gcc/cfg.c
index feac79bc71c..1ed6f1f0742 100644
--- 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
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index 7be7e87818c..c2c262c6b64 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -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));
diff --git a/gcc/cse.c b/gcc/cse.c
index 0f902ba4735..7d6f46b0a35 100644
--- 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 ());
diff --git a/gcc/flow.c b/gcc/flow.c
index ad4ab7c4d07..2e78674cf3e 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -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 =
diff --git a/gcc/gcse.c b/gcc/gcse.c
index c763678c011..93c366b7dbe 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -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
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index d9193409435..5d156a6caeb 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -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);
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c
index 8ba94473a83..d22e9e736fb 100644
--- a/gcc/local-alloc.c
+++ b/gcc/local-alloc.c
@@ -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);
}
diff --git a/gcc/loop-init.c b/gcc/loop-init.c
index 51ad1dad378..bf13fd0948d 100644
--- a/gcc/loop-init.c
+++ b/gcc/loop-init.c
@@ -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;
}
diff --git a/gcc/passes.c b/gcc/passes.c
index 2e7f0b53b32..2845ab7c880 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -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 ());
diff --git a/gcc/profile.c b/gcc/profile.c
index 614e7366945..d3bce07b8e9 100644
--- a/gcc/profile.c
+++ b/gcc/profile.c
@@ -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);
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 56544b4d670..6244b29bf4a 100644
--- 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);
diff --git a/gcc/tracer.c b/gcc/tracer.c
index e61f8202fd6..fc4aed7c9c7 100644
--- a/gcc/tracer.c
+++ b/gcc/tracer.c
@@ -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 ());
diff --git a/gcc/tree-dump.c b/gcc/tree-dump.c
index 49862ed24e9..c5663e287c8 100644
--- a/gcc/tree-dump.c
+++ b/gcc/tree-dump.c
@@ -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;
}
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index 40e1e424d38..2d73deff45c 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -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 ();