public abstract class UnaryOpLogicNode extends LogicNode implements LIRLowerable, Canonicalizable.Unary<ValueNode>
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<UnaryOpLogicNode> |
TYPE |
protected ValueNode |
value |
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
UnaryOpLogicNode(NodeClass<? extends UnaryOpLogicNode> c,
ValueNode value) |
Modifier and Type | Method and Description |
---|---|
void |
generate(NodeLIRBuilderTool gen) |
abstract Stamp |
getSucceedingStampForValue(boolean negated) |
ValueNode |
getValue() |
abstract jdk.internal.jvmci.meta.TriState |
tryFold(Stamp valueStamp) |
and, and, isContradiction, isTautology, or, or
asNode
asConstant, asJavaConstant, getKind, graph, inferStamp, 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, canonical
public static final NodeClass<UnaryOpLogicNode> TYPE
public UnaryOpLogicNode(NodeClass<? extends UnaryOpLogicNode> c, ValueNode value)
public ValueNode getValue()
getValue
in interface Canonicalizable.Unary<ValueNode>
public void generate(NodeLIRBuilderTool gen)
generate
in interface LIRLowerable
public abstract Stamp getSucceedingStampForValue(boolean negated)