public final class XorNode extends BinaryArithmeticNode<ArithmeticOpTable.BinaryOp.Xor> implements Canonicalizable.BinaryCommutative<ValueNode>, NarrowableArithmeticNode
BinaryArithmeticNode.SerializableBinaryFunction<T>
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
Canonicalizable.Binary<T extends Node>, Canonicalizable.BinaryCommutative<T extends Node>, Canonicalizable.Unary<T extends Node>
Modifier and Type | Field and Description |
---|---|
static NodeClass<XorNode> |
TYPE |
getOp
x, y
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Modifier and Type | Method and Description |
---|---|
ValueNode |
canonical(CanonicalizerTool tool,
ValueNode forX,
ValueNode forY) |
static ValueNode |
create(ValueNode x,
ValueNode y) |
void |
generate(NodeValueMap nodeValueMap,
ArithmeticLIRGenerator gen) |
add, add, getOp, inferStamp, isAssociative, livesLonger, maybeCommuteInputs, mul, mul, reassociate, sub, sub, tryConstantFold
getX, getY, setX, setY
asNode
asConstant, asJavaConstant, getKind, graph, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStamp
acceptInputs, acceptSuccessors, afterClone, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearSuccessors, copyWithInputs, copyWithInputs, equals, fail, formatTo, getDebugProperties, getDebugProperties, getId, getNodeClass, getUsageAt, getUsageCount, hashCode, hasNoUsages, hasUsages, inputs, isAlive, isDeleted, markDeleted, modCount, newIdentityMap, newIdentityMap, newIdentityMap, newMap, newMap, newMap, newSet, newSet, predecessor, pushInputs, removeUsage, replaceAndDelete, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceFirstInput, replaceFirstSuccessor, safeDelete, simplify, successors, toString, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verify, verifyEdges, verifyInputs
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
maybeCommuteInputs
canonical, getX, getY
isNarrowable
public ValueNode canonical(CanonicalizerTool tool, ValueNode forX, ValueNode forY)
canonical
in interface Canonicalizable.Binary<ValueNode>
canonical
in class BinaryArithmeticNode<ArithmeticOpTable.BinaryOp.Xor>
public void generate(NodeValueMap nodeValueMap, ArithmeticLIRGenerator gen)
generate
in interface ArithmeticLIRLowerable