Mercurial > hg > graal-compiler
diff graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java @ 16216:388b787a5fe6
implement Canonicalizable.Unary in the UnaryNode hierarchy
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Wed, 25 Jun 2014 16:35:17 +0200 |
parents | 0993768dfc8e |
children | 5d468add216f |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java Wed Jun 25 16:35:17 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java Wed Jun 25 16:35:17 2014 +0200 @@ -24,7 +24,6 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.compiler.common.type.*; -import com.oracle.graal.graph.*; import com.oracle.graal.graph.spi.*; import com.oracle.graal.lir.gen.*; import com.oracle.graal.nodes.*; @@ -34,7 +33,7 @@ /** * Binary negation of long or integer values. */ -public final class NotNode extends UnaryNode implements Canonicalizable, ArithmeticLIRLowerable, NarrowableArithmeticNode { +public final class NotNode extends UnaryNode implements ArithmeticLIRLowerable, NarrowableArithmeticNode { @Override public boolean inferStamp() { @@ -57,12 +56,12 @@ } @Override - public Node canonical(CanonicalizerTool tool) { - if (getValue().isConstant()) { - return ConstantNode.forPrimitive(evalConst(getValue().asConstant()), graph()); + public ValueNode canonical(CanonicalizerTool tool, ValueNode forValue) { + if (forValue.isConstant()) { + return ConstantNode.forConstant(evalConst(forValue.asConstant()), null); } - if (getValue() instanceof NotNode) { - return ((NotNode) getValue()).getValue(); + if (forValue instanceof NotNode) { + return ((NotNode) forValue).getValue(); } return this; }