aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop-invariant.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/loop-invariant.c')
-rw-r--r--gcc/loop-invariant.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c
index 4cc1ea6..a420569 100644
--- a/gcc/loop-invariant.c
+++ b/gcc/loop-invariant.c
@@ -659,20 +659,28 @@ find_defs (struct loop *loop, basic_block *body)
for (i = 0; i < loop->num_nodes; i++)
bitmap_set_bit (blocks, body[i]->index);
+ if (dump_file)
+ {
+ fprintf (dump_file,
+ "*****starting processing of loop %d ******\n",
+ loop->num);
+ }
+
df_remove_problem (df_chain);
df_process_deferred_rescans ();
df_chain_add_problem (DF_UD_CHAIN);
df_set_blocks (blocks);
+ df_set_flags (DF_RD_PRUNE_DEAD_DEFS);
df_analyze ();
+ check_invariant_table_size ();
if (dump_file)
{
df_dump_region (dump_file);
- fprintf (dump_file, "*****starting processing of loop ******\n");
- print_rtl_with_bb (dump_file, get_insns (), dump_flags);
- fprintf (dump_file, "*****ending processing of loop ******\n");
+ fprintf (dump_file,
+ "*****ending processing of loop %d ******\n",
+ loop->num);
}
- check_invariant_table_size ();
BITMAP_FREE (blocks);
}