src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/ConvertNode.java
equal
deleted
inserted
replaced
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 } |