public final class UnsignedRightShiftNode extends ShiftNode<ArithmeticOpTable.ShiftOp.UShr>
ShiftNode.SerializableShiftFunction<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<UnsignedRightShiftNode> |
TYPE |
x, y
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
UnsignedRightShiftNode(ValueNode x,
ValueNode y) |
Modifier and Type | Method and Description |
---|---|
ValueNode |
canonical(CanonicalizerTool tool,
ValueNode forX,
ValueNode forY) |
void |
generate(NodeValueMap nodeValueMap,
ArithmeticLIRGenerator gen) |
boolean |
isNarrowable(int resultBits)
Check whether this operation can be narrowed to
resultBits bit without loss of
precision. |
getOp, getShiftAmountMask, inferStamp
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
canonical
public static final NodeClass<UnsignedRightShiftNode> TYPE
public UnsignedRightShiftNode(ValueNode x, ValueNode y)
public ValueNode canonical(CanonicalizerTool tool, ValueNode forX, ValueNode forY)
canonical
in interface Canonicalizable.Binary<ValueNode>
canonical
in class ShiftNode<ArithmeticOpTable.ShiftOp.UShr>
public void generate(NodeValueMap nodeValueMap, ArithmeticLIRGenerator gen)
public boolean isNarrowable(int resultBits)
NarrowableArithmeticNode
resultBits
bit without loss of
precision.isNarrowable
in interface NarrowableArithmeticNode
isNarrowable
in class ShiftNode<ArithmeticOpTable.ShiftOp.UShr>