Mercurial > hg > truffle
diff graal/GraalCompiler/src/com/sun/c1x/alloc/LinearScan.java @ 2789:aeccd2af4e9e
Fixes around critical edge split and placeholder removal after goto removal.
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Wed, 25 May 2011 16:48:28 +0200 |
parents | 79dda81dd337 |
children | 6d14aa4fbf90 |
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/alloc/LinearScan.java Wed May 25 14:33:44 2011 +0200 +++ b/graal/GraalCompiler/src/com/sun/c1x/alloc/LinearScan.java Wed May 25 16:48:28 2011 +0200 @@ -725,7 +725,7 @@ // this is checked by these assertions to be sure about it. // the entry block may have incoming // values in registers, which is ok. - if (!operand.isVariable() /*&& block != ir.startBlock*/) { + if (!operand.isVariable() && block != ir.startBlock) { if (isProcessed(operand)) { assert liveKill.get(operandNumber(operand)) : "using fixed register that is not defined in this block"; } @@ -812,6 +812,8 @@ reportFailure(numBlocks); } + TTY.println("preds=" + startBlock.blockPredecessors().size() + ", succs=" + startBlock.blockSuccessors().size()); + // bailout of if this occurs in product mode. throw new CiBailout("liveIn set of first block must be empty"); }