# HG changeset patch # User Lukas Stadler # Date 1402676337 -7200 # Node ID 13e471b673f3a10c118de2cbc46cc1f9bd433f6f # Parent 0d1f79e8add9a64c71cb802393336f5741b43049 handle deleted nodes in IfNode.simplify diff -r 0d1f79e8add9 -r 13e471b673f3 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Fri Jun 13 18:18:28 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Fri Jun 13 18:18:57 2014 +0200 @@ -229,15 +229,17 @@ trueNext.replaceAtPredecessor(next); graph().addBeforeFixed(this, trueNext); for (Node usage : trueNext.usages().snapshot()) { - if (usage.getNodeClass().valueNumberable() && !usage.getNodeClass().isLeafNode()) { - Node newNode = graph().findDuplicate(usage); - if (newNode != null) { - usage.replaceAtUsages(newNode); - usage.safeDelete(); + if (usage.isAlive()) { + if (usage.getNodeClass().valueNumberable() && !usage.getNodeClass().isLeafNode()) { + Node newNode = graph().findDuplicate(usage); + if (newNode != null) { + usage.replaceAtUsages(newNode); + usage.safeDelete(); + } } - } - if (usage.isAlive()) { - tool.addToWorkList(usage); + if (usage.isAlive()) { + tool.addToWorkList(usage); + } } } continue;