Commit 8eacd016 by Richard Guenther Committed by Richard Biener

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
parent 9adf0570
2010-01-17 Richard Guenther <rguenther@suse.de> 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 PR tree-optimization/42773
* tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence. * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
(compute_antic_aux): Likewise. (compute_antic_aux): Likewise.
......
...@@ -6937,7 +6937,7 @@ gimple_execute_on_growing_pred (edge e) ...@@ -6937,7 +6937,7 @@ gimple_execute_on_growing_pred (edge e)
{ {
basic_block bb = e->dest; basic_block bb = e->dest;
if (phi_nodes (bb)) if (!gimple_seq_empty_p (phi_nodes (bb)))
reserve_phi_args_for_new_edge (bb); reserve_phi_args_for_new_edge (bb);
} }
...@@ -6947,7 +6947,7 @@ gimple_execute_on_growing_pred (edge e) ...@@ -6947,7 +6947,7 @@ gimple_execute_on_growing_pred (edge e)
static void static void
gimple_execute_on_shrinking_pred (edge e) 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); remove_phi_args (e);
} }
......
...@@ -875,7 +875,7 @@ merge_phi_nodes (void) ...@@ -875,7 +875,7 @@ merge_phi_nodes (void)
/* We have to feed into another basic block with PHI /* We have to feed into another basic block with PHI
nodes. */ nodes. */
if (!phi_nodes (dest) if (gimple_seq_empty_p (phi_nodes (dest))
/* We don't want to deal with a basic block with /* We don't want to deal with a basic block with
abnormal edges. */ abnormal edges. */
|| has_abnormal_incoming_edge_p (bb)) || has_abnormal_incoming_edge_p (bb))
......
...@@ -958,7 +958,7 @@ forward_edge_to_pdom (edge e, basic_block post_dom_bb) ...@@ -958,7 +958,7 @@ forward_edge_to_pdom (edge e, basic_block post_dom_bb)
if (e2 != e) if (e2 != e)
return e2; 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. /* 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 This means that we can look up the end of control dependent path leading
......
...@@ -456,7 +456,7 @@ uncprop_into_successor_phis (basic_block bb) ...@@ -456,7 +456,7 @@ uncprop_into_successor_phis (basic_block bb)
/* If there are no PHI nodes in this destination, then there is /* If there are no PHI nodes in this destination, then there is
no sense in recording any equivalences. */ no sense in recording any equivalences. */
if (!phis) if (gimple_seq_empty_p (phis))
continue; continue;
/* Record any equivalency associated with E. */ /* Record any equivalency associated with E. */
......
...@@ -981,7 +981,7 @@ vect_analyze_loop_form (struct loop *loop) ...@@ -981,7 +981,7 @@ vect_analyze_loop_form (struct loop *loop)
before the loop if needed), where the loop header contains all the before the loop if needed), where the loop header contains all the
executable statements, and the latch is empty. */ executable statements, and the latch is empty. */
if (!empty_block_p (loop->latch) 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)) if (vect_print_dump_info (REPORT_BAD_FORM_LOOPS))
fprintf (vect_dump, "not vectorized: unexpected loop form."); fprintf (vect_dump, "not vectorized: unexpected loop form.");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment