Mercurial > hg > graal-compiler
changeset 7248:b903c1099f41
Fix in MergeNode.removeEnd: while deleting phi inputs some other phis can die
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Mon, 17 Dec 2012 17:15:11 +0100 |
parents | 1706be855f0e |
children | 73139223837c |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java |
diffstat | 1 files changed, 3 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java Mon Dec 17 16:38:48 2012 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java Mon Dec 17 17:15:11 2012 +0100 @@ -82,6 +82,9 @@ assert predIndex != -1; deleteEnd(pred); for (PhiNode phi : phis().snapshot()) { + if (phi.isDeleted()) { + continue; + } ValueNode removedValue = phi.valueAt(predIndex); phi.removeInput(predIndex); if (removedValue != null && removedValue.isAlive() && removedValue.usages().isEmpty() && GraphUtil.isFloatingNode().apply(removedValue)) {