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[] {                      // Optional printing of final LIR                      new OPT_IRPrinter("Final LIR") {                      public boolean shouldPerform(OPT_Options options) {                      return options.PRINT_FINAL_LIR;                      }                      },                       // Split very large basic blocks into smaller ones.                      new OPT_SplitBasicBlock(),                       // Change operations that split live ranges to moves                      new OPT_MutateSplits(),                      // Instruction selection                      new OPT_ConvertLIRtoMIR(),                       // Optional printing of initial MIR                      new OPT_IRPrinter("Initial MIR") {                      public boolean shouldPerform(OPT_Options options) {                      return options.PRINT_MIR;                      }                      }                      });  }