Avoid calling verify_ssa twice in verify_loop_closed_ssa.

2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (graphite_verify): Remove redundant
	call to verify_ssa.  Invoke verify_loop_closed_ssa with an extra
	argument.
	* graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
	* graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
	(rewrite_commutative_reductions_out_of_ssa): Same.
	* passes.c (execute_function_todo): Call verify_ssa for every pass
	in the LNO.  Invoke verify_loop_closed_ssa with an extra argument.
	* tree-flow.h (verify_loop_closed_ssa): Update declaration.
	* tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
	with an extra argument.
	* tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same.  Call
	verify_ssa only when the extra argument is true.
	(gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
	with an extra argument.
	(tree_transform_and_unroll_loop): Same.

From-SVN: r158021
This commit is contained in:
Sebastian Pop 2010-04-06 19:20:47 +00:00 committed by Sebastian Pop
parent 98b6e9dda5
commit a3b9e73ca3
8 changed files with 37 additions and 19 deletions

View File

@ -1,3 +1,22 @@
2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
* graphite-clast-to-gimple.c (graphite_verify): Remove redundant
call to verify_ssa. Invoke verify_loop_closed_ssa with an extra
argument.
* graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
* graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
(rewrite_commutative_reductions_out_of_ssa): Same.
* passes.c (execute_function_todo): Call verify_ssa for every pass
in the LNO. Invoke verify_loop_closed_ssa with an extra argument.
* tree-flow.h (verify_loop_closed_ssa): Update declaration.
* tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
with an extra argument.
* tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call
verify_ssa only when the extra argument is true.
(gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
with an extra argument.
(tree_transform_and_unroll_loop): Same.
2010-04-06 Sebastian Pop <sebastian.pop@amd.com>
* passes.c (execute_function_todo): Call verify_loop_closed_ssa

View File

@ -65,8 +65,7 @@ graphite_verify (void)
verify_loop_structure ();
verify_dominators (CDI_DOMINATORS);
verify_dominators (CDI_POST_DOMINATORS);
verify_ssa (false);
verify_loop_closed_ssa ();
verify_loop_closed_ssa (true);
#endif
}

View File

@ -1303,7 +1303,7 @@ canonicalize_loop_closed_ssa_form (void)
loop_p loop;
#ifdef ENABLE_CHECKING
verify_loop_closed_ssa ();
verify_loop_closed_ssa (true);
#endif
FOR_EACH_LOOP (li, loop, 0)
@ -1313,7 +1313,7 @@ canonicalize_loop_closed_ssa_form (void)
update_ssa (TODO_update_ssa);
#ifdef ENABLE_CHECKING
verify_loop_closed_ssa ();
verify_loop_closed_ssa (true);
#endif
}

View File

@ -2402,8 +2402,7 @@ rewrite_reductions_out_of_ssa (scop_p scop)
update_ssa (TODO_update_ssa);
#ifdef ENABLE_CHECKING
verify_ssa (false);
verify_loop_closed_ssa ();
verify_loop_closed_ssa (true);
#endif
FOR_EACH_BB (bb)
@ -2413,8 +2412,7 @@ rewrite_reductions_out_of_ssa (scop_p scop)
update_ssa (TODO_update_ssa);
#ifdef ENABLE_CHECKING
verify_ssa (false);
verify_loop_closed_ssa ();
verify_loop_closed_ssa (true);
#endif
}
@ -2868,8 +2866,7 @@ rewrite_commutative_reductions_out_of_ssa (sese region, sbitmap reductions)
gsi_commit_edge_inserts ();
update_ssa (TODO_update_ssa);
#ifdef ENABLE_CHECKING
verify_ssa (false);
verify_loop_closed_ssa ();
verify_loop_closed_ssa (true);
#endif
}

View File

@ -1256,14 +1256,15 @@ execute_function_todo (void *data)
}
#if defined ENABLE_CHECKING
if (flags & TODO_verify_ssa)
if (flags & TODO_verify_ssa
|| (current_loops && loops_state_satisfies_p (LOOP_CLOSED_SSA)))
verify_ssa (true);
if (flags & TODO_verify_flow)
verify_flow_info ();
if (flags & TODO_verify_stmts)
verify_stmts ();
if (current_loops && loops_state_satisfies_p (LOOP_CLOSED_SSA))
verify_loop_closed_ssa ();
verify_loop_closed_ssa (false);
if (flags & TODO_verify_rtl_sharing)
verify_rtl_sharing ();
#endif

View File

@ -715,7 +715,7 @@ enum ev_direction scev_direction (const_tree);
void free_numbers_of_iterations_estimates (void);
void free_numbers_of_iterations_estimates_loop (struct loop *);
void rewrite_into_loop_closed_ssa (bitmap, unsigned);
void verify_loop_closed_ssa (void);
void verify_loop_closed_ssa (bool);
bool for_each_index (tree *, bool (*) (tree, tree *, void *), void *);
void create_iv (tree, tree, tree, struct loop *, gimple_stmt_iterator *, bool,
tree *, tree *);

View File

@ -1970,7 +1970,7 @@ parallelize_loops (void)
verify_flow_info ();
verify_dominators (CDI_DOMINATORS);
verify_loop_structure ();
verify_loop_closed_ssa ();
verify_loop_closed_ssa (true);
}
free_stmt_vec_info_vec ();

View File

@ -440,10 +440,11 @@ check_loop_closed_ssa_stmt (basic_block bb, gimple stmt)
check_loop_closed_ssa_use (bb, var);
}
/* Checks that invariants of the loop closed ssa form are preserved. */
/* Checks that invariants of the loop closed ssa form are preserved.
Call verify_ssa when VERIFY_SSA_P is true. */
void
verify_loop_closed_ssa (void)
verify_loop_closed_ssa (bool verify_ssa_p)
{
basic_block bb;
gimple_stmt_iterator bsi;
@ -454,7 +455,8 @@ verify_loop_closed_ssa (void)
if (number_of_loops () <= 1)
return;
verify_ssa (false);
if (verify_ssa_p)
verify_ssa (false);
FOR_EACH_BB (bb)
{
@ -616,7 +618,7 @@ gimple_duplicate_loop_to_header_edge (struct loop *loop, edge e,
#ifdef ENABLE_CHECKING
if (loops_state_satisfies_p (LOOP_CLOSED_SSA))
verify_loop_closed_ssa ();
verify_loop_closed_ssa (true);
#endif
first_new_block = last_basic_block;
@ -1095,7 +1097,7 @@ tree_transform_and_unroll_loop (struct loop *loop, unsigned factor,
verify_flow_info ();
verify_dominators (CDI_DOMINATORS);
verify_loop_structure ();
verify_loop_closed_ssa ();
verify_loop_closed_ssa (true);
#endif
}