Mercurial > hg > graal-compiler
diff graal/GraalCompiler/src/com/sun/c1x/alloc/EdgeMoveOptimizer.java @ 2674:6ab73784566a
* BlockBegin.predecessors changed to List<BlockEnd>
* Node: add input/successor with given back edge index, allows for explicit ordering of predecessors/usages
* Graphviz: PDF output, option to omit FrameStates
* runscimark.sh: forward additional options to JVM
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Fri, 13 May 2011 15:18:41 +0200 |
parents | 16b9a8b5ad39 |
children | 7ed72769d51a |
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/alloc/EdgeMoveOptimizer.java Fri May 13 11:19:25 2011 +0200 +++ b/graal/GraalCompiler/src/com/sun/c1x/alloc/EdgeMoveOptimizer.java Fri May 13 15:18:41 2011 +0200 @@ -112,7 +112,7 @@ * predecessors of {@code block} to the start of {@code block}. */ private void optimizeMovesAtBlockEnd(BlockBegin block) { - if (block.isPredecessor(block)) { + if (block.isPredecessor(block.end())) { // currently we can't handle this correctly. return; } @@ -126,7 +126,7 @@ // setup a list with the LIR instructions of all predecessors for (int i = 0; i < numPreds; i++) { - BlockBegin pred = block.predAt(i); + BlockBegin pred = block.predAt(i).begin(); List<LIRInstruction> predInstructions = pred.lir().instructionsList(); if (pred.numberOfSux() != 1) { @@ -231,7 +231,7 @@ // the same blocks. return; } - assert sux.predAt(0) == block : "invalid control flow"; + assert sux.predAt(0).begin() == block : "invalid control flow"; assert !sux.checkBlockFlag(BlockBegin.BlockFlag.ExceptionEntry) : "exception handlers not allowed"; // ignore the label at the beginning of the block