Mercurial > hg > graal-compiler
changeset 16100:13e471b673f3
handle deleted nodes in IfNode.simplify
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Fri, 13 Jun 2014 18:18:57 +0200 |
parents | 0d1f79e8add9 |
children | 99e2e006ade2 |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java |
diffstat | 1 files changed, 10 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- 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;