* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155983
138bc75d-0d04-0410-961f-
82ee72b054a4
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.
{
basic_block bb = e->dest;
- if (phi_nodes (bb))
+ if (!gimple_seq_empty_p (phi_nodes (bb)))
reserve_phi_args_for_new_edge (bb);
}
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);
}
/* 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))
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
/* 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. */
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.");