# HG changeset patch # User Lukas Stadler # Date 1397466759 -7200 # Node ID 0bc5f99bf9d2e5942e5a119a7fe271c60ba8884c # Parent 976c6cb2bf69723890ef42fba57df9214893b3e9 remove unused MemoryAnchorNodes diff -r 976c6cb2bf69 -r 0bc5f99bf9d2 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MemoryAnchorNode.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MemoryAnchorNode.java Sun Apr 13 22:55:23 2014 +0200 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MemoryAnchorNode.java Mon Apr 14 11:12:39 2014 +0200 @@ -23,13 +23,14 @@ package com.oracle.graal.replacements.nodes; import com.oracle.graal.graph.*; +import com.oracle.graal.graph.spi.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.nodes.type.*; @NodeInfo(allowedUsageTypes = {InputType.Memory}) -public class MemoryAnchorNode extends FixedWithNextNode implements LIRLowerable, MemoryNode { +public class MemoryAnchorNode extends FixedWithNextNode implements LIRLowerable, MemoryNode, Canonicalizable { public MemoryAnchorNode() { super(StampFactory.forVoid()); @@ -39,6 +40,11 @@ // Nothing to emit, since this node is used for structural purposes only. } + @Override + public Node canonical(CanonicalizerTool tool) { + return usages().isEmpty() ? null : this; + } + public MemoryCheckpoint asMemoryCheckpoint() { return null; }