summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-30 17:38:25 +0000
committerzadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-30 17:38:25 +0000
commit774f8797f927d5da94633135142870bad063a6e9 (patch)
tree0485d05a1cbdb9a1e615d4a9111f61baa720350b
parenta6dac426d58e3353b7dd3985388886bb5dc7e783 (diff)
downloadgcc-774f8797f927d5da94633135142870bad063a6e9.tar.gz
2007-08-30 Kenneth Zadeck <zadeck@naturalbridge.com>
* df-core.h (df_dump_region): New function. * df.h (df_dump_region): New function. * loop-invariant.c (find_defs): Add call to df_dump_region. * loop-iv.c (iv_analysis_loop_init): Changed call from df_dump to df_dump_region. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127931 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/df-core.c29
-rw-r--r--gcc/df.h1
-rw-r--r--gcc/loop-invariant.c1
-rw-r--r--gcc/loop-iv.c2
5 files changed, 40 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 200a3531194..cbd87462784 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2007-08-30 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * df-core.h (df_dump_region): New function.
+ * df.h (df_dump_region): New function.
+ * loop-invariant.c (find_defs): Add call to df_dump_region.
+ * loop-iv.c (iv_analysis_loop_init): Changed call from df_dump to
+ df_dump_region.
+
2007-08-30 Jakub Jelinek <jakub@redhat.com>
* decl.c (start_preparsed_function): Set
diff --git a/gcc/df-core.c b/gcc/df-core.c
index 3b4e7b3e579..9bebdbe35d1 100644
--- a/gcc/df-core.c
+++ b/gcc/df-core.c
@@ -1761,6 +1761,7 @@ df_print_regset (FILE *file, bitmap r)
/* Dump dataflow info. */
+
void
df_dump (FILE *file)
{
@@ -1778,6 +1779,34 @@ df_dump (FILE *file)
}
+/* Dump dataflow info for df->blocks_to_analyze. */
+
+void
+df_dump_region (FILE *file)
+{
+ if (df->blocks_to_analyze)
+ {
+ bitmap_iterator bi;
+ unsigned int bb_index;
+
+ fprintf (file, "\n\nstarting region dump\n");
+ df_dump_start (file);
+
+ EXECUTE_IF_SET_IN_BITMAP (df->blocks_to_analyze, 0, bb_index, bi)
+ {
+ basic_block bb = BASIC_BLOCK (bb_index);
+
+ df_print_bb_index (bb, file);
+ df_dump_top (bb, file);
+ df_dump_bottom (bb, file);
+ }
+ fprintf (file, "\n");
+ }
+ else
+ df_dump (file);
+}
+
+
/* Dump the introductory information for each problem defined. */
void
diff --git a/gcc/df.h b/gcc/df.h
index 7457277915d..3ff7f39834c 100644
--- a/gcc/df.h
+++ b/gcc/df.h
@@ -836,6 +836,7 @@ extern bool df_reg_used (rtx, rtx);
extern void df_worklist_dataflow (struct dataflow *,bitmap, int *, int);
extern void df_print_regset (FILE *file, bitmap r);
extern void df_dump (FILE *);
+extern void df_dump_region (FILE *);
extern void df_dump_start (FILE *);
extern void df_dump_top (basic_block, FILE *);
extern void df_dump_bottom (basic_block, FILE *);
diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c
index e4eb2184f74..d6ca8eb6af0 100644
--- a/gcc/loop-invariant.c
+++ b/gcc/loop-invariant.c
@@ -644,6 +644,7 @@ find_defs (struct loop *loop, basic_block *body)
if (dump_file)
{
+ df_dump_region (dump_file);
fprintf (dump_file, "*****starting processing of loop ******\n");
print_rtl_with_bb (dump_file, get_insns ());
fprintf (dump_file, "*****ending processing of loop ******\n");
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c
index 173cd68bbba..81e9a5625ec 100644
--- a/gcc/loop-iv.c
+++ b/gcc/loop-iv.c
@@ -280,7 +280,7 @@ iv_analysis_loop_init (struct loop *loop)
df_set_blocks (blocks);
df_analyze ();
if (dump_file)
- df_dump (dump_file);
+ df_dump_region (dump_file);
check_iv_ref_table_size ();
BITMAP_FREE (blocks);