# HG changeset patch # User Lukas Stadler # Date 1403688053 -7200 # Node ID 6beb6da182fcdecfe4f77d04f858c78360d8f0d0 # Parent dc1f9c606f36a6c2bdc557599707812e6295a50c non-adding factory methods in BitLogicNode diff -r dc1f9c606f36 -r 6beb6da182fc graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BitLogicNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BitLogicNode.java Wed Jun 25 11:20:53 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BitLogicNode.java Wed Jun 25 11:20:53 2014 +0200 @@ -34,7 +34,7 @@ /** * Constructs a new logic operation node. - * + * * @param x the first input into this node * @param y the second input into this node */ @@ -48,13 +48,28 @@ return graph.unique(new AndNode(StampTool.and(v1.stamp(), v2.stamp()), v1, v2)); } + public static BitLogicNode and(ValueNode v1, ValueNode v2) { + assert v1.stamp().isCompatible(v2.stamp()); + return new AndNode(StampTool.and(v1.stamp(), v2.stamp()), v1, v2); + } + public static BitLogicNode or(StructuredGraph graph, ValueNode v1, ValueNode v2) { assert v1.stamp().isCompatible(v2.stamp()); return graph.unique(new OrNode(StampTool.or(v1.stamp(), v2.stamp()), v1, v2)); } + public static BitLogicNode or(ValueNode v1, ValueNode v2) { + assert v1.stamp().isCompatible(v2.stamp()); + return new OrNode(StampTool.or(v1.stamp(), v2.stamp()), v1, v2); + } + public static BitLogicNode xor(StructuredGraph graph, ValueNode v1, ValueNode v2) { assert v1.stamp().isCompatible(v2.stamp()); return graph.unique(new XorNode(StampTool.xor(v1.stamp(), v2.stamp()), v1, v2)); } + + public static BitLogicNode xor(ValueNode v1, ValueNode v2) { + assert v1.stamp().isCompatible(v2.stamp()); + return new XorNode(StampTool.xor(v1.stamp(), v2.stamp()), v1, v2); + } }