changeset 12618:2925280e3f92

remove unused CommitAllocationNodes during simplification
author Lukas Stadler <lukas.stadler@jku.at>
date Mon, 28 Oct 2013 13:39:49 +0100
parents bca33c3135de
children 62b05f62a75c
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/CommitAllocationNode.java
diffstat 1 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/CommitAllocationNode.java	Mon Oct 28 13:01:16 2013 +0100
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/CommitAllocationNode.java	Mon Oct 28 13:39:49 2013 +0100
@@ -119,6 +119,14 @@
             used[index] = true;
             usedCount++;
         }
+        if (usedCount == 0) {
+            List<Node> inputSnapshot = inputs().snapshot();
+            graph().removeFixed(this);
+            for (Node input : inputSnapshot) {
+                tool.removeIfUnused(input);
+            }
+            return;
+        }
         boolean progress;
         do {
             progress = false;