# HG changeset patch # User Roland Schatz # Date 1383926870 -3600 # Node ID 0646713243fb5dadd3febbf41b2b9c7daf73a835 # Parent 64d960e854e6d9396af33f84970b1eb1e46490cd Canonicalize convert of convert. diff -r 64d960e854e6 -r 0646713243fb graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java Fri Nov 08 16:59:01 2013 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java Fri Nov 08 17:07:50 2013 +0100 @@ -235,6 +235,11 @@ public Node canonical(CanonicalizerTool tool) { if (value.isConstant()) { return ConstantNode.forPrimitive(evalConst(value.asConstant()), graph()); + } else if (value instanceof ConvertNode) { + ConvertNode other = (ConvertNode) value; + if (other.isLossless() && other.to != Kind.Char) { + return graph().unique(new ConvertNode(other.from, this.to, other.value())); + } } return this; }