# HG changeset patch # User Gilles Duboscq # Date 1332154880 -3600 # Node ID f61058a128d39cd32669643e3754ae7b28b3af45 # Parent d8b414300a2eaa0ad1f99b4c2631cc86f2006d42 Consitency in killCFG : kill the loop before deleteing the loopbegin when removing a dead loop diff -r d8b414300a2e -r f61058a128d3 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java Mon Mar 19 11:58:43 2012 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java Mon Mar 19 12:01:20 2012 +0100 @@ -60,9 +60,8 @@ loopend.predecessor().replaceFirstSuccessor(loopend, null); loopend.safeDelete(); } - FixedNode next = begin.next(); + killCFG(begin.next()); begin.safeDelete(); - killCFG(next); } else if (merge instanceof LoopBeginNode && ((LoopBeginNode) merge).loopEnds().isEmpty()) { // not a loop anymore ((StructuredGraph) end.graph()).reduceDegenerateLoopBegin((LoopBeginNode) merge); } else if (merge.phiPredecessorCount() == 1) { // not a merge anymore