tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI node existence check.

2010-01-17  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
	node existence check.
	* tree-vect-loop.c (vect_analyze_loop_form): Likewise.
	* tree-cfgcleanup.c (merge_phi_nodes): Likewise.
	* tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
	* tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
	(gimple_execute_on_growing_pred): Likewise.

From-SVN: r155983
This commit is contained in:
Richard Guenther 2010-01-17 16:22:17 +00:00 committed by Richard Biener
parent 9adf0570ff
commit 8eacd0162e
6 changed files with 16 additions and 6 deletions

View File

@ -1,3 +1,13 @@
2010-01-17 Richard Guenther <rguenther@suse.de>
* tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
node existence check.
* tree-vect-loop.c (vect_analyze_loop_form): Likewise.
* tree-cfgcleanup.c (merge_phi_nodes): Likewise.
* tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
* tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
(gimple_execute_on_growing_pred): Likewise.
2010-01-17 Richard Guenther <rguenther@suse.de>
PR tree-optimization/42773

View File

@ -6937,7 +6937,7 @@ gimple_execute_on_growing_pred (edge e)
{
basic_block bb = e->dest;
if (phi_nodes (bb))
if (!gimple_seq_empty_p (phi_nodes (bb)))
reserve_phi_args_for_new_edge (bb);
}
@ -6947,7 +6947,7 @@ gimple_execute_on_growing_pred (edge e)
static void
gimple_execute_on_shrinking_pred (edge e)
{
if (phi_nodes (e->dest))
if (!gimple_seq_empty_p (phi_nodes (e->dest)))
remove_phi_args (e);
}

View File

@ -875,7 +875,7 @@ merge_phi_nodes (void)
/* We have to feed into another basic block with PHI
nodes. */
if (!phi_nodes (dest)
if (gimple_seq_empty_p (phi_nodes (dest))
/* We don't want to deal with a basic block with
abnormal edges. */
|| has_abnormal_incoming_edge_p (bb))

View File

@ -958,7 +958,7 @@ forward_edge_to_pdom (edge e, basic_block post_dom_bb)
if (e2 != e)
return e2;
if (phi_nodes (post_dom_bb))
if (!gimple_seq_empty_p (phi_nodes (post_dom_bb)))
{
/* We are sure that for every live PHI we are seeing control dependent BB.
This means that we can look up the end of control dependent path leading

View File

@ -456,7 +456,7 @@ uncprop_into_successor_phis (basic_block bb)
/* If there are no PHI nodes in this destination, then there is
no sense in recording any equivalences. */
if (!phis)
if (gimple_seq_empty_p (phis))
continue;
/* Record any equivalency associated with E. */

View File

@ -981,7 +981,7 @@ vect_analyze_loop_form (struct loop *loop)
before the loop if needed), where the loop header contains all the
executable statements, and the latch is empty. */
if (!empty_block_p (loop->latch)
|| phi_nodes (loop->latch))
|| !gimple_seq_empty_p (phi_nodes (loop->latch)))
{
if (vect_print_dump_info (REPORT_BAD_FORM_LOOPS))
fprintf (vect_dump, "not vectorized: unexpected loop form.");