Mercurial > hg > truffle
diff graal/GraalCompiler/src/com/sun/c1x/graph/IR.java @ 2788:df4c5254c5cc
Towards goto removal.
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Wed, 25 May 2011 14:33:44 +0200 |
parents | 9bc0c2eb00d6 |
children | aeccd2af4e9e |
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/graph/IR.java Wed May 25 12:20:08 2011 +0200 +++ b/graal/GraalCompiler/src/com/sun/c1x/graph/IR.java Wed May 25 14:33:44 2011 +0200 @@ -124,7 +124,13 @@ } startBlock = valueToBlock.get(getHIRStartBlock()); assert startBlock != null; - verifyAndPrint("After linear scan order"); + + if (startBlock.blockPredecessors().size() > 0) { + LIRBlock oldStartBlock = startBlock; + startBlock = new LIRBlock(orderedBlocks.size()); + startBlock.blockSuccessors().add(oldStartBlock); + orderedBlocks.add(startBlock); + } ComputeLinearScanOrder clso = new ComputeLinearScanOrder(lirBlocks.size(), startBlock); orderedBlocks = clso.linearScanOrder(); @@ -135,7 +141,7 @@ b.setLinearScanNumber(z++); } - + verifyAndPrint("After linear scan order"); if (C1XOptions.PrintTimers) { C1XTimers.HIR_OPTIMIZE.stop();