summaryrefslogtreecommitdiff
path: root/gcc/passes.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-04-28 14:42:06 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-04-28 14:42:06 +0000
commit2bdae24115fe3601b44597bcd61f1004d6838024 (patch)
tree1b295f4298bb5f0dd1036e0f1f98ed1b14f1d176 /gcc/passes.c
parent060fc20619be5420a01d15844a8e3635ebc9753b (diff)
downloadgcc-2bdae24115fe3601b44597bcd61f1004d6838024.tar.gz
2014-04-28 Richard Biener <rguenther@suse.de>
* tree-pass.h (TODO_verify_il): Define. (TODO_verify_all): Complete properly. * passes.c (execute_function_todo): Move existing loop-closed SSA verification under TODO_verify_il. (execute_one_pass): Trigger TODO_verify_il at todo-after time. * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Fix tree sharing issue. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209865 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/passes.c')
-rw-r--r--gcc/passes.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/gcc/passes.c b/gcc/passes.c
index c0a76d62d21..45f31d79521 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -1768,8 +1768,7 @@ execute_function_todo (function *fn, void *data)
}
#if defined ENABLE_CHECKING
- if (flags & TODO_verify_ssa
- || (current_loops && loops_state_satisfies_p (LOOP_CLOSED_SSA)))
+ if (flags & TODO_verify_ssa)
{
verify_gimple_in_cfg (cfun);
verify_ssa (true);
@@ -1778,8 +1777,18 @@ execute_function_todo (function *fn, void *data)
verify_gimple_in_cfg (cfun);
if (flags & TODO_verify_flow)
verify_flow_info ();
- if (current_loops && loops_state_satisfies_p (LOOP_CLOSED_SSA))
- verify_loop_closed_ssa (false);
+ if (flags & TODO_verify_il)
+ {
+ if (current_loops
+ && loops_state_satisfies_p (LOOP_CLOSED_SSA))
+ {
+ if (!(flags & (TODO_verify_stmts|TODO_verify_ssa)))
+ verify_gimple_in_cfg (cfun);
+ if (!(flags & TODO_verify_ssa))
+ verify_ssa (true);
+ verify_loop_closed_ssa (false);
+ }
+ }
if (flags & TODO_verify_rtl_sharing)
verify_rtl_sharing ();
#endif
@@ -2167,7 +2176,7 @@ execute_one_pass (opt_pass *pass)
check_profile_consistency (pass->static_pass_number, 0, true);
/* Run post-pass cleanup and verification. */
- execute_todo (todo_after | pass->todo_flags_finish);
+ execute_todo (todo_after | pass->todo_flags_finish | TODO_verify_il);
if (profile_report && cfun && (cfun->curr_properties & PROP_cfg))
check_profile_consistency (pass->static_pass_number, 1, true);