public override bool Optimize(List <BaseBlock> codeBlocks) { var CFG = new ControlFlowGraph(codeBlocks); var active = CFG.GenerateInputOutputActiveDefs().Item2; bool ret = false; for (int i = 0; i < codeBlocks.Count; ++i) { ret |= OptimizeBlock(codeBlocks[i], active[i]); } return(ret); }