aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-ssa-loop.c')
-rw-r--r--gcc/tree-ssa-loop.c33
1 files changed, 9 insertions, 24 deletions
diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c
index 5012470..03c3249 100644
--- a/gcc/tree-ssa-loop.c
+++ b/gcc/tree-ssa-loop.c
@@ -53,17 +53,8 @@ tree_loop_optimizer_init (FILE *dump)
if (!loops)
return NULL;
- /* Creation of preheaders may create redundant phi nodes if the loop is
- entered by more than one edge, but the initial value of the induction
- variable is the same on all of them. */
- kill_redundant_phi_nodes ();
- rewrite_into_ssa (false);
- bitmap_clear (vars_to_rename);
-
+ update_ssa (TODO_update_ssa);
rewrite_into_loop_closed_ssa (NULL);
-#ifdef ENABLE_CHECKING
- verify_loop_closed_ssa ();
-#endif
return loops;
}
@@ -121,7 +112,7 @@ struct tree_opt_pass pass_loop_init =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- TODO_dump_func, /* todo_flags_finish */
+ TODO_dump_func | TODO_verify_loops, /* todo_flags_finish */
0 /* letter */
};
@@ -155,7 +146,7 @@ struct tree_opt_pass pass_lim =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- TODO_dump_func, /* todo_flags_finish */
+ TODO_dump_func | TODO_verify_loops, /* todo_flags_finish */
0 /* letter */
};
@@ -189,7 +180,7 @@ struct tree_opt_pass pass_unswitch =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- TODO_dump_func, /* todo_flags_finish */
+ TODO_dump_func | TODO_verify_loops, /* todo_flags_finish */
0 /* letter */
};
@@ -201,7 +192,6 @@ tree_vectorize (void)
if (!current_loops)
return;
- bitmap_clear (vars_to_rename);
vectorize_loops (current_loops);
}
@@ -224,7 +214,7 @@ struct tree_opt_pass pass_vectorize =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- TODO_dump_func, /* todo_flags_finish */
+ TODO_dump_func | TODO_update_ssa, /* todo_flags_finish */
0 /* letter */
};
@@ -259,7 +249,7 @@ struct tree_opt_pass pass_linear_transform =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- TODO_dump_func, /* todo_flags_finish */
+ TODO_dump_func | TODO_verify_loops, /* todo_flags_finish */
0 /* letter */
};
@@ -293,7 +283,7 @@ struct tree_opt_pass pass_iv_canon =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- TODO_dump_func, /* todo_flags_finish */
+ TODO_dump_func | TODO_verify_loops, /* todo_flags_finish */
0 /* letter */
};
@@ -356,7 +346,7 @@ struct tree_opt_pass pass_complete_unroll =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- TODO_dump_func, /* todo_flags_finish */
+ TODO_dump_func | TODO_verify_loops, /* todo_flags_finish */
0 /* letter */
};
@@ -390,7 +380,7 @@ struct tree_opt_pass pass_iv_optimize =
0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
- TODO_dump_func, /* todo_flags_finish */
+ TODO_dump_func | TODO_verify_loops, /* todo_flags_finish */
0 /* letter */
};
@@ -402,10 +392,6 @@ tree_ssa_loop_done (void)
if (!current_loops)
return;
-#ifdef ENABLE_CHECKING
- verify_loop_closed_ssa ();
-#endif
-
free_numbers_of_iterations_estimates (current_loops);
scev_finalize ();
loop_optimizer_finalize (current_loops,
@@ -429,4 +415,3 @@ struct tree_opt_pass pass_loop_done =
TODO_cleanup_cfg | TODO_dump_func, /* todo_flags_finish */
0 /* letter */
};
-