changeset 21150:e69bc2b6c79a

ConditionalElimination: check that begin node is still alive before processing
author Gilles Duboscq <gilles.m.duboscq@oracle.com>
date Tue, 28 Apr 2015 11:59:35 +0200
parents c1b476cae62d
children 7ffff68b31fb
files graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DominatorConditionalEliminationPhase.java
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DominatorConditionalEliminationPhase.java	Wed Apr 29 11:21:01 2015 +0200
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DominatorConditionalEliminationPhase.java	Tue Apr 28 11:59:35 2015 +0200
@@ -237,7 +237,7 @@
                 survivingSuccessor.replaceAtPredecessor(null);
                 node.replaceAtPredecessor(survivingSuccessor);
                 GraphUtil.killCFG(node);
-                if (survivingSuccessor instanceof BeginNode) {
+                if (survivingSuccessor.isAlive() && survivingSuccessor instanceof BeginNode) {
                     undoOperations.add(() -> ((BeginNode) survivingSuccessor).trySimplify());
                 }
                 return true;