diff options
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/tree-ssa-dom.c | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3a0cbc6..66e0e1d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2005-11-04 Jeff Law <law@redhat.com> + + PR middle-end/23181 + * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Do not + perform reassociation if the parent statement will not die as + a result of the optimization. + 2005-11-10 Daniel Berlin <dberlin@dberlin.org> * tree-ssa-alias.c (compute_may_aliases): Remove call to diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c index cb5eeb0..1e0ebbc 100644 --- a/gcc/tree-ssa-dom.c +++ b/gcc/tree-ssa-dom.c @@ -1794,6 +1794,7 @@ simplify_rhs_and_lookup_avail_expr (tree stmt, int insert) assignment. Add minus to this, as we handle it specially below. */ if ((associative_tree_code (rhs_code) || rhs_code == MINUS_EXPR) && TREE_CODE (TREE_OPERAND (rhs, 0)) == SSA_NAME + && num_imm_uses (TREE_OPERAND (rhs, 0)) == 1 && is_gimple_min_invariant (TREE_OPERAND (rhs, 1))) { tree rhs_def_stmt = SSA_NAME_DEF_STMT (TREE_OPERAND (rhs, 0)); |