# HG changeset patch # User Bernhard Urban # Date 1389385137 -3600 # Node ID 3def004aaa2dd79b86c3f8b2089c8d61d4bf4507 # Parent bd21ee1a874ca8fae6db31b84733a48abba0228b Canonicalizer: allow nodes to implement simplifiable and canonicalizable diff -r bd21ee1a874c -r 3def004aaa2d graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java --- 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)) {