Mercurial > hg > truffle
changeset 12730:0646713243fb
Canonicalize convert of convert.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Fri, 08 Nov 2013 17:07:50 +0100 |
parents | 64d960e854e6 |
children | 2caa21ef52bb |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java |
diffstat | 1 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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; }