From: Richard Guenther Date: Sun, 17 Jan 2010 16:22:17 +0000 (+0000) Subject: tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI node existence check. X-Git-Tag: releases/gcc-4.5.0~1175 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8eacd0162e5d13cd77de8c85aa2759519a1cd5ec;p=thirdparty%2Fgcc.git tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI node existence check. 2010-01-17 Richard Guenther * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 547c4bfd4b2d..212381f2139c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2010-01-17 Richard Guenther + + * 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 PR tree-optimization/42773 diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 0a3d544eece3..d9276981eea8 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -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); } diff --git a/gcc/tree-cfgcleanup.c b/gcc/tree-cfgcleanup.c index 5904407a35b5..201298dc5357 100644 --- a/gcc/tree-cfgcleanup.c +++ b/gcc/tree-cfgcleanup.c @@ -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)) diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c index cdb64323b41d..bb24b6254d28 100644 --- a/gcc/tree-ssa-dce.c +++ b/gcc/tree-ssa-dce.c @@ -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 diff --git a/gcc/tree-ssa-uncprop.c b/gcc/tree-ssa-uncprop.c index 8e7715431f4a..96c08d3c8f21 100644 --- a/gcc/tree-ssa-uncprop.c +++ b/gcc/tree-ssa-uncprop.c @@ -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. */ diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index f160cb458b4a..9e17eb366700 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -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.");