# HG changeset patch # User Thomas Wuerthinger # Date 1311801398 25200 # Node ID 399aa66d375e4cdef929e01b05e0d3c0d28cde57 # Parent 7189684fde3ef1d79b74a7d734de21a085c9d012 Fixed a bug in which the valueEquals method was misused. The method does only check the equality of the node data and not full GVN equality by taking inputs and successors into account. diff -r 7189684fde3e -r 399aa66d375e graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/ir/Compare.java --- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/ir/Compare.java Wed Jul 27 14:15:26 2011 -0700 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/ir/Compare.java Wed Jul 27 14:16:38 2011 -0700 @@ -193,7 +193,7 @@ } else if (compare.y().isConstant() && compare.x() instanceof NormalizeCompare) { return optimizeNormalizeCmp(compare, compare.y().asConstant(), (NormalizeCompare) compare.x()); } - if ((compare.x() == compare.y() || compare.x().valueEqual(compare.y())) && compare.x().kind != CiKind.Float && compare.x().kind != CiKind.Double) { + if (compare.x() == compare.y() && compare.x().kind != CiKind.Float && compare.x().kind != CiKind.Double) { return Constant.forBoolean(compare.condition().check(1, 1), compare.graph()); } return compare;