Mercurial > hg > graal-compiler
changeset 15928:9c209d76d72d
LSRA Optimization: walk basic block boundaries.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Mon, 26 May 2014 09:32:51 +0200 |
parents | 96229f219351 |
children | 8da4ff90fb7f |
files | graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/OptimizingLinearScanWalker.java |
diffstat | 1 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/OptimizingLinearScanWalker.java Mon May 26 09:29:51 2014 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/OptimizingLinearScanWalker.java Mon May 26 09:32:51 2014 +0200 @@ -22,6 +22,9 @@ */ package com.oracle.graal.compiler.alloc; +import com.oracle.graal.compiler.common.cfg.*; +import com.oracle.graal.debug.*; +import com.oracle.graal.debug.Debug.Scope; import com.oracle.graal.options.*; public class OptimizingLinearScanWalker extends LinearScanWalker { @@ -37,4 +40,14 @@ super(allocator, unhandledFixedFirst, unhandledAnyFirst); } + @Override + void walk() { + try (Scope s = Debug.scope("OptimizingLinearScanWalker")) { + for (AbstractBlock<?> block : allocator.sortedBlocks) { + int nextBlock = allocator.getFirstLirInstructionId(block); + walkTo(nextBlock); + } + } + super.walk(); + } }