re PR target/69994 (test case gfortran.dg/reassoc_6.f fails starting with r233669)
authorRichard Biener <rguenther@suse.de>
Tue, 1 Mar 2016 12:50:41 +0000 (12:50 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 1 Mar 2016 12:50:41 +0000 (12:50 +0000)
2016-03-01  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69994
* tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.

From-SVN: r233851

gcc/ChangeLog
gcc/tree-ssa-reassoc.c

index f6ee6dc3af914b87d6d7a76f8bfb5cbf01542035..9ee5a2e50c47fc19803154e29cf7e65970456037 100644 (file)
@@ -1,3 +1,8 @@
+2016-03-01  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/69994
+       * tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
+
 2016-03-01  Ilya Enkovich  <enkovich.gnu@gmail.com>
 
        PR tree-optimization/69956
index 4c5470739054fd3d76a36e7be2fbb74c9baa9cf9..4e1251b2a949f0740fe48815e2f7830abd2bed9e 100644 (file)
@@ -649,6 +649,7 @@ ops_equal_values_p (tree op1, tree op2)
   if (op1 == op2)
     return true;
 
+  tree orig_op1 = op1;
   if (TREE_CODE (op1) == SSA_NAME)
     {
       gimple *stmt = SSA_NAME_DEF_STMT (op1);
@@ -666,7 +667,8 @@ ops_equal_values_p (tree op1, tree op2)
       if (gimple_nop_conversion_p (stmt))
        {
          op2 = gimple_assign_rhs1 (stmt);
-         if (op1 == op2)
+         if (op1 == op2
+             || orig_op1 == op2)
            return true;
        }
     }