changeset 17263:9010170f942f

better stamps for I2F, I2D, L2F and L2D operations
author Lukas Stadler <lukas.stadler@oracle.com>
date Tue, 30 Sep 2014 11:08:10 +0200
parents b641450c19ce
children 324ab4ce5d43
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java
diffstat 1 files changed, 2 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java	Tue Sep 30 10:05:30 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java	Tue Sep 30 11:08:10 2014 +0200
@@ -83,10 +83,12 @@
                 return StampFactory.forKind(Kind.Long);
             case I2F:
             case L2F:
+                return StampFactory.forFloat(Kind.Float, ((IntegerStamp) input.stamp()).lowerBound(), ((IntegerStamp) input.stamp()).upperBound(), true);
             case D2F:
                 return StampFactory.forKind(Kind.Float);
             case I2D:
             case L2D:
+                return StampFactory.forFloat(Kind.Double, ((IntegerStamp) input.stamp()).lowerBound(), ((IntegerStamp) input.stamp()).upperBound(), true);
             case F2D:
                 return StampFactory.forKind(Kind.Double);
             default: