summaryrefslogtreecommitdiff
path: root/gcc/loop-init.c
diff options
context:
space:
mode:
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-11 18:02:15 +0000
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-11 18:02:15 +0000
commit3072d30e7983a3ca5ad030f1f98a5c39bcc2c07b (patch)
treefdb9e9f8a0700a2713dc690fed1a2cf20dae8392 /gcc/loop-init.c
parent8ceb1bfd33bc40bf0cbe1fab8903c2c31efd10ee (diff)
downloadgcc-3072d30e7983a3ca5ad030f1f98a5c39bcc2c07b.tar.gz
Merge dataflow branch into mainline
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125624 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/loop-init.c')
-rw-r--r--gcc/loop-init.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/gcc/loop-init.c b/gcc/loop-init.c
index d78b5ace52e..303c2da1b72 100644
--- a/gcc/loop-init.c
+++ b/gcc/loop-init.c
@@ -1,5 +1,5 @@
/* Loop optimizer initialization routines and RTL loop optimization passes.
- Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
This file is part of GCC.
@@ -31,6 +31,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#include "tree-pass.h"
#include "timevar.h"
#include "flags.h"
+#include "df.h"
#include "ggc.h"
@@ -198,9 +199,7 @@ rtl_loop_done (void)
loop_optimizer_finalize ();
free_dominance_info (CDI_DOMINATORS);
- cleanup_cfg (CLEANUP_EXPENSIVE);
- delete_trivially_dead_insns (get_insns (), max_reg_num ());
- reg_scan (get_insns (), max_reg_num ());
+ cleanup_cfg (0);
if (dump_file)
dump_flow_info (dump_file, dump_flags);
@@ -242,7 +241,7 @@ rtl_move_loop_invariants (void)
struct tree_opt_pass pass_rtl_move_loop_invariants =
{
- "loop2_invariant", /* name */
+ "loop2_invariant", /* name */
gate_rtl_move_loop_invariants, /* gate */
rtl_move_loop_invariants, /* execute */
NULL, /* sub */
@@ -252,7 +251,8 @@ struct tree_opt_pass pass_rtl_move_loop_invariants =
0, /* properties_required */
0, /* properties_provided */
0, /* properties_destroyed */
- 0, /* todo_flags_start */
+ 0, /* todo_flags_start */
+ TODO_df_finish | /* This is shutting down the instance in loop_invariant.c */
TODO_dump_func, /* todo_flags_finish */
'L' /* letter */
};
@@ -304,6 +304,8 @@ rtl_unroll_and_peel_loops (void)
if (number_of_loops () > 1)
{
int flags = 0;
+ if (dump_file)
+ df_dump (dump_file);
if (flag_peel_loops)
flags |= UAP_PEEL;