aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-01-17 16:22:17 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-01-17 16:22:17 +0000
commit8eacd0162e5d13cd77de8c85aa2759519a1cd5ec (patch)
tree041367621a0936e98186fa8424bcd6441b96e7ad /gcc
parent9adf0570ff15ff5e3df45426bf159e6f4e5a8b3e (diff)
downloadgcc-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/ChangeLog10
-rw-r--r--gcc/tree-cfg.c4
-rw-r--r--gcc/tree-cfgcleanup.c2
-rw-r--r--gcc/tree-ssa-dce.c2
-rw-r--r--gcc/tree-ssa-uncprop.c2
-rw-r--r--gcc/tree-vect-loop.c2
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.");