# HG changeset patch # User Gilles Duboscq # Date 1310055690 -7200 # Node ID adfd999fff7d33ab2c221d80865d4a91963fb947 # Parent 4011431b4d85069df228ef135d03c910e582d367 Canonicalize & DCE after peeling, fix for spliting in peeling diff -r 4011431b4d85 -r adfd999fff7d graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/graph/IR.java --- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/graph/IR.java Thu Jul 07 16:04:21 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/graph/IR.java Thu Jul 07 18:21:30 2011 +0200 @@ -102,6 +102,10 @@ if (GraalOptions.OptLoops) { new LoopPhase().apply(graph); + if (GraalOptions.OptCanonicalizer) { + new CanonicalizerPhase().apply(graph); + new DeadCodeEliminationPhase().apply(graph); + } } if (GraalOptions.EscapeAnalysis /*&& compilation.method.toString().contains("simplify")*/) { diff -r 4011431b4d85 -r adfd999fff7d graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/util/LoopUtil.java --- a/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/util/LoopUtil.java Thu Jul 07 16:04:21 2011 +0200 +++ b/graal/com.oracle.max.graal.compiler/src/com/oracle/max/graal/compiler/util/LoopUtil.java Thu Jul 07 18:21:30 2011 +0200 @@ -496,7 +496,7 @@ @Override public boolean explore(Node n) { return (!exitFrameStates.isNew(n) && exitFrameStates.isMarked(n)) - || (!inOrBefore.isNew(n) && !inOrBefore.isMarked(n) && !(n instanceof Local) && !danglingMergeFrameState(n)); //TODO (gd) hum + || (!inOrBefore.isNew(n) && !inOrBefore.isMarked(n) && n.inputs().size() > 0 && !danglingMergeFrameState(n)); //TODO (gd) hum } public boolean danglingMergeFrameState(Node n) { if (!(n instanceof FrameState)) { diff -r 4011431b4d85 -r adfd999fff7d runfilter.sh --- a/runfilter.sh Thu Jul 07 16:04:21 2011 +0200 +++ b/runfilter.sh Thu Jul 07 18:21:30 2011 +0200 @@ -18,4 +18,4 @@ FILTER=$1 shift 1 TESTDIR=${MAXINE}/com.oracle.max.vm/test -${JDK7}/bin/java -client -d64 -graal -ea -esa -Xcomp -XX:+PrintCompilation -XX:CompileOnly=jtt -Xbootclasspath/p:"${MAXINE}/com.oracle.max.vm/bin" -Xbootclasspath/p:"${MAXINE}/com.oracle.max.base/bin" $@ test.com.sun.max.vm.compiler.JavaTester -filter=${FILTER} -verbose=1 -gen-run-scheme=false -run-scheme-package=all $@ ${TESTDIR}/jtt/bytecode ${TESTDIR}/jtt/except ${TESTDIR}/jtt/hotpath ${TESTDIR}/jtt/jdk ${TESTDIR}/jtt/lang ${TESTDIR}/jtt/loop ${TESTDIR}/jtt/micro ${TESTDIR}/jtt/optimize ${TESTDIR}/jtt/reflect ${TESTDIR}/jtt/threads +${JDK7}/bin/java -client -d64 -graal -ea -esa -Xcomp -XX:+PrintCompilation -XX:CompileOnly=jtt -Xbootclasspath/p:"${MAXINE}/com.oracle.max.vm/bin" -Xbootclasspath/p:"${MAXINE}/com.oracle.max.base/bin" $@ test.com.sun.max.vm.compiler.JavaTester -filter=${FILTER} -verbose=1 -gen-run-scheme=false -run-scheme-package=all $@ ${TESTDIR}/jtt/bytecode ${TESTDIR}/jtt/except ${TESTDIR}/jtt/hotpath ${TESTDIR}/jtt/jdk ${TESTDIR}/jtt/lang ${TESTDIR}/jtt/loop ${TESTDIR}/jtt/micro ${TESTDIR}/jtt/optimize ${TESTDIR}/jtt/reflect ${TESTDIR}/jtt/threads ${TESTDIR}/jtt/reflect ${TESTDIR}/jtt/hotspot