use of org.graalvm.compiler.nodes.NodeView in project graal by oracle.
the class ConditionalNode method canonical.
@Override
public ValueNode canonical(CanonicalizerTool tool) {
NodeView view = NodeView.from(tool);
ValueNode synonym = findSynonym(condition, trueValue(), falseValue(), view);
if (synonym != null) {
return synonym;
}
ValueNode result = canonicalizeConditional(condition, trueValue(), falseValue(), stamp, view);
if (result != null) {
return result;
}
return this;
}
use of org.graalvm.compiler.nodes.NodeView in project graal by oracle.
the class FloatLessThanNode method canonical.
@Override
public Node canonical(CanonicalizerTool tool, ValueNode forX, ValueNode forY) {
NodeView view = NodeView.from(tool);
ValueNode value = OP.canonical(tool.getConstantReflection(), tool.getMetaAccess(), tool.getOptions(), tool.smallestCompareWidth(), CanonicalCondition.LT, unorderedIsTrue, forX, forY, view);
if (value != null) {
return value;
}
return this;
}
use of org.graalvm.compiler.nodes.NodeView in project graal by oracle.
the class UnsignedRightShiftNode method canonical.
@Override
public ValueNode canonical(CanonicalizerTool tool, ValueNode forX, ValueNode forY) {
NodeView view = NodeView.from(tool);
ValueNode ret = super.canonical(tool, forX, forY);
if (ret != this) {
return ret;
}
return canonical(this, this.getArithmeticOp(), this.stamp(view), forX, forY, view);
}
use of org.graalvm.compiler.nodes.NodeView in project graal by oracle.
the class ZeroExtendNode method canonical.
@Override
public ValueNode canonical(CanonicalizerTool tool, ValueNode forValue) {
NodeView view = NodeView.from(tool);
ValueNode ret = super.canonical(tool, forValue);
if (ret != this) {
return ret;
}
return canonical(this, forValue, getInputBits(), getResultBits(), view, inputAlwaysPositive);
}
use of org.graalvm.compiler.nodes.NodeView in project graal by oracle.
the class XorNode method canonical.
@Override
public ValueNode canonical(CanonicalizerTool tool, ValueNode forX, ValueNode forY) {
ValueNode ret = super.canonical(tool, forX, forY);
if (ret != this) {
return ret;
}
NodeView view = NodeView.from(tool);
return canonical(this, getOp(forX, forY), stamp(NodeView.DEFAULT), forX, forY, view);
}
Aggregations