From e49a540c1272d1658df36ab0c5db721ba63d3764 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Thu, 11 Sep 2008 21:48:11 +0000 Subject: [PATCH] tree-ssa-uncprop.c (associate_equivalences_with_edges): Avoid entering the weaker equivalence recording. 2008-09-11 Richard Guenther * tree-ssa-uncprop.c (associate_equivalences_with_edges): Avoid entering the weaker equivalence recording. * tree-ssa-phiprop.c (propagate_with_phi): Fix tuplification. From-SVN: r140300 --- gcc/ChangeLog | 7 +++++++ gcc/tree-ssa-phiprop.c | 2 +- gcc/tree-ssa-uncprop.c | 10 +++++----- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d55103b5b93..6bd0082f83e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2008-09-11 Richard Guenther + + * tree-ssa-uncprop.c (associate_equivalences_with_edges): Avoid + entering the weaker equivalence recording. + + * tree-ssa-phiprop.c (propagate_with_phi): Fix tuplification. + 2008-09-11 Jeff Law * reload1.c (alter_reg): Undo the BYTE_BIG_ENDIAN correction performed diff --git a/gcc/tree-ssa-phiprop.c b/gcc/tree-ssa-phiprop.c index ff3ee4a439f..27ad87ddf55 100644 --- a/gcc/tree-ssa-phiprop.c +++ b/gcc/tree-ssa-phiprop.c @@ -247,7 +247,7 @@ propagate_with_phi (basic_block bb, gimple phi, struct phiprop_d *phivn, || phivn[SSA_NAME_VERSION (arg)].value == NULL_TREE)) { gimple def_stmt = SSA_NAME_DEF_STMT (arg); - if (gimple_code (def_stmt) != GIMPLE_ASSIGN) + if (!gimple_assign_single_p (def_stmt)) return false; arg = gimple_assign_rhs1 (def_stmt); } diff --git a/gcc/tree-ssa-uncprop.c b/gcc/tree-ssa-uncprop.c index 335d7aed14b..ceaa40d9c11 100644 --- a/gcc/tree-ssa-uncprop.c +++ b/gcc/tree-ssa-uncprop.c @@ -137,11 +137,11 @@ associate_equivalences_with_edges (void) } } - if (TREE_CODE (op0) == SSA_NAME - && !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (op0) - && (is_gimple_min_invariant (op1) - || (TREE_CODE (op1) == SSA_NAME - && !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (op1)))) + else if (TREE_CODE (op0) == SSA_NAME + && !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (op0) + && (is_gimple_min_invariant (op1) + || (TREE_CODE (op1) == SSA_NAME + && !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (op1)))) { /* For IEEE, -0.0 == 0.0, so we don't necessarily know the sign of a variable compared against zero. If -- 2.30.2