changeset 13605:3def004aaa2d

Canonicalizer: allow nodes to implement simplifiable and canonicalizable
author Bernhard Urban <bernhard.urban@jku.at>
date Fri, 10 Jan 2014 21:18:57 +0100
parents bd21ee1a874c
children bb8ea5fb4a2d
files graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java	Fri Jan 10 20:16:31 2014 +0100
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java	Fri Jan 10 21:18:57 2014 +0100
@@ -234,7 +234,6 @@
 
         public boolean baseTryCanonicalize(final Node node, NodeClass nodeClass) {
             if (nodeClass.isCanonicalizable()) {
-                assert !nodeClass.isSimplifiable();
                 METRIC_CANONICALIZATION_CONSIDERED_NODES.increment();
                 try (Scope s = Debug.scope("CanonicalizeNode", node)) {
                     Node canonical = node.canonical(tool);
@@ -242,7 +241,9 @@
                 } catch (Throwable e) {
                     throw Debug.handle(e);
                 }
-            } else if (nodeClass.isSimplifiable()) {
+            }
+
+            if (nodeClass.isSimplifiable()) {
                 Debug.log("Canonicalizer: simplifying %s", node);
                 METRIC_SIMPLIFICATION_CONSIDERED_NODES.increment();
                 try (Scope s = Debug.scope("SimplifyNode", node)) {