changeset 3214:0ca900bab9d0

Canonicalize Compare with same inputs
author Gilles Duboscq <gilles.duboscq@oracle.com>
date Wed, 13 Jul 2011 15:05:04 +0200
parents 1ba9612f6d6e
children 0ab38d143795
files graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/ir/Compare.java
diffstat 1 files changed, 3 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/ir/Compare.java	Tue Jul 12 18:14:45 2011 +0200
+++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/ir/Compare.java	Wed Jul 13 15:05:04 2011 +0200
@@ -193,6 +193,9 @@
             } 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().kind != CiKind.Float && compare.x().kind != CiKind.Double) {
+                return Constant.forBoolean(compare.condition().check(1, 1), compare.graph());
+            }
             return compare;
         }