Mercurial > hg > truffle
diff graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java @ 7370:39a4192ae632
Experiment with new block order for LSRA.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Mon, 14 Jan 2013 16:52:44 +0100 |
parents | 9f69799a1768 |
children | 741ceb12ff7d |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Mon Jan 14 14:19:49 2013 +0100 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Mon Jan 14 16:52:44 2013 +0100 @@ -241,11 +241,22 @@ public void run() { for (Block b : lir.linearScanOrder()) { - lirGenerator.doBlock(b); + emitBlock(b); } Debug.dump(lir, "After LIR generation"); } + + private void emitBlock(Block b) { + if (lir.lir(b) == null) { + for (Block pred : b.getPredecessors()) { + if (!b.isLoopHeader() || !pred.isLoopEnd()) { + emitBlock(pred); + } + } + lirGenerator.doBlock(b); + } + } }); Debug.scope("Allocator", new Runnable() {