]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
tree-ssa-uncprop.c (associate_equivalences_with_edges): Avoid entering the weaker...
authorRichard Guenther <rguenther@suse.de>
Thu, 11 Sep 2008 21:48:11 +0000 (21:48 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 11 Sep 2008 21:48:11 +0000 (21:48 +0000)
2008-09-11  Richard Guenther  <rguenther@suse.de>

* 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
gcc/tree-ssa-phiprop.c
gcc/tree-ssa-uncprop.c

index d55103b5b931ba2c729e1893daab377493efeb2f..6bd0082f83e5659b711776a5fec64be036523ccf 100644 (file)
@@ -1,3 +1,10 @@
+2008-09-11  Richard Guenther  <rguenther@suse.de>
+
+       * 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 <law@redhat.com>
 
        * reload1.c (alter_reg): Undo the BYTE_BIG_ENDIAN correction performed
index ff3ee4a439f5cadf447976b07bd4c66af14927e6..27ad87ddf55427b0dedb2065b7baefd0e30111b8 100644 (file)
@@ -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);
        }
index 335d7aed14b3e567f67c911f27f8820ae38d63e4..ceaa40d9c110611559ed993bc4f154c83ec01c49 100644 (file)
@@ -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