void OSRPass::_run(IRManager & irm) { splitCriticalEdges(irm); computeDominatorsAndLoops(irm); LoopTree* loopTree = irm.getLoopTree(); DominatorTree* dominatorTree = irm.getDominatorTree(); OSR osr(irm, irm.getMemoryManager(), loopTree, dominatorTree); osr.runPass(); }
void SSAPass::_run(IRManager& irm) { OptPass::computeDominators(irm); DominatorTree* dominatorTree = irm.getDominatorTree(); ControlFlowGraph& flowGraph = irm.getFlowGraph(); DomFrontier frontier(irm.getNestedMemoryManager(),*dominatorTree,&flowGraph); SSABuilder ssaBuilder(irm.getOpndManager(),irm.getInstFactory(),frontier,&flowGraph, irm.getOptimizerFlags()); ssaBuilder.convertSSA(irm.getMethodDesc()); irm.setInSsa(true); irm.setSsaUpdated(); }