Mercurial > hg > truffle
diff graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java @ 20074:a7ee2e1f0d4e
remove UnboxNodes without usages (if object is non-null)
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Mon, 30 Mar 2015 13:59:59 +0200 |
parents | 8aa5bd9935b3 |
children | a4aa2116cfe0 |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java Mon Mar 30 11:59:58 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java Mon Mar 30 13:59:59 2015 +0200 @@ -29,6 +29,7 @@ import com.oracle.graal.nodeinfo.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.spi.*; +import com.oracle.graal.nodes.type.*; @NodeInfo public final class UnboxNode extends FixedWithNextNode implements Virtualizable, Lowerable, Canonicalizable.Unary<ValueNode> { @@ -78,6 +79,9 @@ @Override public ValueNode canonical(CanonicalizerTool tool, ValueNode forValue) { + if (hasNoUsages() && StampTool.isPointerNonNull(forValue)) { + return null; + } ValueNode synonym = findSynonym(tool.getMetaAccess(), tool.getConstantReflection(), forValue, boxingKind); if (synonym != null) { return synonym;