# HG changeset patch # User Gilles Duboscq # Date 1412774830 -7200 # Node ID fa11aa10bf2c6c49c8502e94e10174357622c5ff # Parent c37e10bb3aa7697f4b5a7f7a95284d5a26b35a45 Implement foldStamp for Integer to Float conversions diff -r c37e10bb3aa7 -r fa11aa10bf2c graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java --- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java Wed Mar 18 14:36:13 2015 +0100 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java Wed Oct 08 15:27:10 2014 +0200 @@ -973,7 +973,9 @@ public Stamp foldStamp(Stamp input) { IntegerStamp stamp = (IntegerStamp) input; assert stamp.getBits() == 32; - return StampFactory.forKind(Kind.Float); + float lowerBound = stamp.lowerBound(); + float upperBound = stamp.upperBound(); + return StampFactory.forFloat(Kind.Float, lowerBound, upperBound, true); } }, @@ -989,7 +991,9 @@ public Stamp foldStamp(Stamp input) { IntegerStamp stamp = (IntegerStamp) input; assert stamp.getBits() == 64; - return StampFactory.forKind(Kind.Float); + float lowerBound = stamp.lowerBound(); + float upperBound = stamp.upperBound(); + return StampFactory.forFloat(Kind.Float, lowerBound, upperBound, true); } }, @@ -1005,7 +1009,9 @@ public Stamp foldStamp(Stamp input) { IntegerStamp stamp = (IntegerStamp) input; assert stamp.getBits() == 32; - return StampFactory.forKind(Kind.Double); + double lowerBound = stamp.lowerBound(); + double upperBound = stamp.upperBound(); + return StampFactory.forFloat(Kind.Double, lowerBound, upperBound, true); } }, @@ -1021,7 +1027,9 @@ public Stamp foldStamp(Stamp input) { IntegerStamp stamp = (IntegerStamp) input; assert stamp.getBits() == 64; - return StampFactory.forKind(Kind.Double); + double lowerBound = stamp.lowerBound(); + double upperBound = stamp.upperBound(); + return StampFactory.forFloat(Kind.Double, lowerBound, upperBound, true); } }); }