# HG changeset patch # User Gilles Duboscq # Date 1404231027 -7200 # Node ID 6055f84e41d74f4b638af5a0d152894600a546aa # Parent 5a3351bb88a82c1107b2d6028780972a2ff2e4f5 LoopFragmentInside: make sure no dead phi are left after phis have been rewritten diff -r 5a3351bb88a8 -r 6055f84e41d7 graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragmentInside.java --- a/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragmentInside.java Tue Jul 01 18:08:19 2014 +0200 +++ b/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragmentInside.java Tue Jul 01 18:10:27 2014 +0200 @@ -32,6 +32,7 @@ import com.oracle.graal.graph.iterators.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.VirtualState.NodeClosure; +import com.oracle.graal.nodes.util.*; public class LoopFragmentInside extends LoopFragment { @@ -250,6 +251,12 @@ } } } + + for (PhiNode deadPhi : loopBegin.phis().filter(n -> n.usages().isEmpty()).snapshot()) { + if (deadPhi.isAlive()) { + GraphUtil.killWithUnusedFloatingInputs(deadPhi); + } + } } /**