private static void LIR2MIR(Vector p) {
private static void LIR2MIR(ArrayList p) {
  private static void LIR2MIR(Vector p) {    composeComponents(p, "Convert LIR to MIR", new Object[] {      // Split very large basic blocks into smaller ones.      new OPT_SplitBasicBlock(),       // Optional printing of final LIR      new OPT_IRPrinter("Final LIR") {        public boolean shouldPerform(OPT_Options options) {          return options.PRINT_FINAL_LIR;        }      },       // Change operations that split live ranges to moves      new OPT_MutateSplits(),      // Instruction Selection      new OPT_ConvertLIRtoMIR(),       // For now, always print the Initial MIR      new OPT_IRPrinter("Initial MIR") {        public boolean shouldPerform(OPT_Options options) {          return options.PRINT_MIR;        }      }    });  }