diff options
author | Richard Guenther <rguenther@suse.de> | 2010-01-17 16:22:17 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-01-17 16:22:17 +0000 |
commit | 8eacd0162e5d13cd77de8c85aa2759519a1cd5ec (patch) | |
tree | 041367621a0936e98186fa8424bcd6441b96e7ad /gcc | |
parent | 9adf0570ff15ff5e3df45426bf159e6f4e5a8b3e (diff) | |
download | gcc-8eacd0162e5d13cd77de8c85aa2759519a1cd5ec.zip gcc-8eacd0162e5d13cd77de8c85aa2759519a1cd5ec.tar.gz gcc-8eacd0162e5d13cd77de8c85aa2759519a1cd5ec.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/tree-cfg.c | 4 | ||||
-rw-r--r-- | gcc/tree-cfgcleanup.c | 2 | ||||
-rw-r--r-- | gcc/tree-ssa-dce.c | 2 | ||||
-rw-r--r-- | gcc/tree-ssa-uncprop.c | 2 | ||||
-rw-r--r-- | gcc/tree-vect-loop.c | 2 |
6 files changed, 16 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 547c4bf..212381f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,15 @@ 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 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence. (compute_antic_aux): Likewise. diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 0a3d544..d927698 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 5904407..201298d 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 cdb6432..bb24b62 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 8e77154..96c08d3 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 f160cb4..9e17eb3 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."); |