src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ConvertNode.java
changeset 48861 47f19ff9903c
parent 47216 71c04702a3d5
child 50858 2d3e99a72541
equal deleted inserted replaced
48860:5bce1b7e7800 48861:47f19ff9903c
    20  * or visit www.oracle.com if you need additional information or have any
    20  * or visit www.oracle.com if you need additional information or have any
    21  * questions.
    21  * questions.
    22  */
    22  */
    23 package org.graalvm.compiler.nodes.calc;
    23 package org.graalvm.compiler.nodes.calc;
    24 
    24 
    25 import org.graalvm.compiler.core.common.calc.Condition;
    25 import org.graalvm.compiler.core.common.calc.CanonicalCondition;
    26 import org.graalvm.compiler.nodes.ValueNode;
    26 import org.graalvm.compiler.nodes.ValueNode;
    27 import org.graalvm.compiler.nodes.ValueNodeInterface;
    27 import org.graalvm.compiler.nodes.ValueNodeInterface;
    28 
    28 
    29 import jdk.vm.ci.meta.Constant;
    29 import jdk.vm.ci.meta.Constant;
    30 import jdk.vm.ci.meta.ConstantReflectionProvider;
    30 import jdk.vm.ci.meta.ConstantReflectionProvider;
    59      * Check whether a conversion preserves comparison order.
    59      * Check whether a conversion preserves comparison order.
    60      *
    60      *
    61      * @param op a comparison operator
    61      * @param op a comparison operator
    62      * @return true iff (c1 op c2) == (convert(c1) op convert(c2)) for all c1, c2
    62      * @return true iff (c1 op c2) == (convert(c1) op convert(c2)) for all c1, c2
    63      */
    63      */
    64     default boolean preservesOrder(Condition op) {
    64     default boolean preservesOrder(CanonicalCondition op) {
    65         return isLossless();
    65         return isLossless();
    66     }
    66     }
    67 
    67 
    68     /**
    68     /**
    69      * Check whether a conversion preserves comparison order against a particular constant value.
    69      * Check whether a conversion preserves comparison order against a particular constant value.
    71      * @param op a comparison operator
    71      * @param op a comparison operator
    72      * @param value
    72      * @param value
    73      * @param constantReflection
    73      * @param constantReflection
    74      * @return true iff (c1 op value) == (convert(c1) op convert(value)) for value and all c1
    74      * @return true iff (c1 op value) == (convert(c1) op convert(value)) for value and all c1
    75      */
    75      */
    76     default boolean preservesOrder(Condition op, Constant value, ConstantReflectionProvider constantReflection) {
    76     default boolean preservesOrder(CanonicalCondition op, Constant value, ConstantReflectionProvider constantReflection) {
    77         return preservesOrder(op);
    77         return preservesOrder(op);
    78     }
    78     }
    79 }
    79 }