aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-reassoc.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2016-03-01 12:50:41 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2016-03-01 12:50:41 +0000
commit366298bddaa3e5571a5a8670e9bedb6fd1fc18fc (patch)
tree0bf71cbe42cce5728aae52f7645767d69bb1a1e3 /gcc/tree-ssa-reassoc.c
parent3ae0661a71d1f0ef7ea0805a40890694dbd34fc3 (diff)
downloadgcc-366298bddaa3e5571a5a8670e9bedb6fd1fc18fc.zip
gcc-366298bddaa3e5571a5a8670e9bedb6fd1fc18fc.tar.gz
gcc-366298bddaa3e5571a5a8670e9bedb6fd1fc18fc.tar.bz2
re PR target/69994 (test case gfortran.dg/reassoc_6.f fails starting with r233669)
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
Diffstat (limited to 'gcc/tree-ssa-reassoc.c')
-rw-r--r--gcc/tree-ssa-reassoc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index 4c54707..4e1251b 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -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;
}
}