public static class IntegerLessThanNode.LessThanOp extends IntegerLowerThanNode.LowerOp
| Constructor and Description |
|---|
LessThanOp() |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
addCanOverflow(IntegerStamp a,
IntegerStamp b)
Return
true if the a + b can overflow w.r.t. |
protected long |
cast(long a,
int bits) |
protected int |
compare(long a,
long b) |
protected IntegerLowerThanNode |
createNode(ValueNode x,
ValueNode y) |
protected CompareNode |
duplicateModified(ValueNode newX,
ValueNode newY,
boolean unorderedIsTrue,
NodeView view) |
protected LogicNode |
findSynonym(ValueNode forX,
ValueNode forY,
NodeView view) |
protected IntegerStamp |
forInteger(int bits,
long min,
long max) |
protected CanonicalCondition |
getCondition() |
protected boolean |
isMatchingBitExtendNode(ValueNode node)
Return
true if the node is an IntegerConvertNode that does not change the
comparison result. |
protected boolean |
leftShiftCanOverflow(IntegerStamp a,
long shift)
Return
true if the a << shift can overflow w.r.t. |
protected long |
lowerBound(IntegerStamp stamp) |
protected long |
max(long a,
long b) |
protected long |
maxValue(int bits) |
protected long |
min(long a,
long b) |
protected long |
minValue(int bits) |
protected LogicNode |
optimizeNormalizeCompare(ConstantReflectionProvider constantReflection,
MetaAccessProvider metaAccess,
OptionValues options,
Integer smallestCompareWidth,
Constant constant,
AbstractNormalizeCompareNode normalizeNode,
boolean mirrored,
NodeView view) |
protected long |
upperBound(IntegerStamp stamp) |
canonical, canonicalizeCommonArithmetic, canonicalizeRangeFlip, constantOrNull, create, getSucceedingStampForX, getSucceedingStampForXLowerXPlusA, max, min, tryFoldcanonicalizeSymmetricConstantprotected CompareNode duplicateModified(ValueNode newX, ValueNode newY, boolean unorderedIsTrue, NodeView view)
duplicateModified in class CompareNode.CompareOpprotected LogicNode optimizeNormalizeCompare(ConstantReflectionProvider constantReflection, MetaAccessProvider metaAccess, OptionValues options, Integer smallestCompareWidth, Constant constant, AbstractNormalizeCompareNode normalizeNode, boolean mirrored, NodeView view)
optimizeNormalizeCompare in class CompareNode.CompareOpprotected LogicNode findSynonym(ValueNode forX, ValueNode forY, NodeView view)
findSynonym in class IntegerLowerThanNode.LowerOpprotected boolean isMatchingBitExtendNode(ValueNode node)
IntegerLowerThanNode.LowerOptrue if the node is an IntegerConvertNode that does not change the
comparison result.isMatchingBitExtendNode in class IntegerLowerThanNode.LowerOpprotected boolean addCanOverflow(IntegerStamp a, IntegerStamp b)
IntegerLowerThanNode.LowerOpaddCanOverflow in class IntegerLowerThanNode.LowerOpprotected boolean leftShiftCanOverflow(IntegerStamp a, long shift)
IntegerLowerThanNode.LowerOpleftShiftCanOverflow in class IntegerLowerThanNode.LowerOpprotected CanonicalCondition getCondition()
getCondition in class IntegerLowerThanNode.LowerOpprotected IntegerLowerThanNode createNode(ValueNode x, ValueNode y)
createNode in class IntegerLowerThanNode.LowerOpprotected long upperBound(IntegerStamp stamp)
upperBound in class IntegerLowerThanNode.LowerOpprotected long lowerBound(IntegerStamp stamp)
lowerBound in class IntegerLowerThanNode.LowerOpprotected int compare(long a,
long b)
compare in class IntegerLowerThanNode.LowerOpprotected long min(long a,
long b)
min in class IntegerLowerThanNode.LowerOpprotected long max(long a,
long b)
max in class IntegerLowerThanNode.LowerOpprotected long cast(long a,
int bits)
cast in class IntegerLowerThanNode.LowerOpprotected long minValue(int bits)
minValue in class IntegerLowerThanNode.LowerOpprotected long maxValue(int bits)
maxValue in class IntegerLowerThanNode.LowerOpprotected IntegerStamp forInteger(int bits, long min, long max)
forInteger in class IntegerLowerThanNode.LowerOp