@@ -618,65 +618,6 @@ static void buildPipeline(ModulePassManager &MPM, PassBuilder *PB, OptimizationL
618618 MPM.addPass (AfterOptimizationMarkerPass ());
619619}
620620
621- struct PipelineConfig {
622- int Speedup;
623- int Size;
624- int lower_intrinsics;
625- int dump_native;
626- int external_use;
627- int llvm_only;
628- int always_inline;
629- int enable_early_simplifications;
630- int enable_early_optimizations;
631- int enable_scalar_optimizations;
632- int enable_loop_optimizations;
633- int enable_vector_pipeline;
634- int remove_ni;
635- int cleanup;
636- int warn_missed_transformations;
637- };
638-
639- extern " C" JL_DLLEXPORT_CODEGEN void jl_build_newpm_pipeline_impl (void *MPM, void *PB, PipelineConfig* config) JL_NOTSAFEPOINT
640- {
641- OptimizationLevel O;
642- switch (config->Size ) {
643- case 1 :
644- O = OptimizationLevel::Os;
645- break ;
646- default :
647- O = OptimizationLevel::Oz;
648- break ;
649- case 0 :
650- switch (config->Speedup ) {
651- case 0 :
652- O = OptimizationLevel::O0;
653- break ;
654- case 1 :
655- O = OptimizationLevel::O1;
656- break ;
657- case 2 :
658- O = OptimizationLevel::O2;
659- break ;
660- default :
661- O = OptimizationLevel::O3;
662- break ;
663- }
664- }
665- buildPipeline (*reinterpret_cast <ModulePassManager*>(MPM), reinterpret_cast <PassBuilder*>(PB), O,
666- OptimizationOptions{!!config->lower_intrinsics ,
667- !!config->dump_native ,
668- !!config->external_use ,
669- !!config->llvm_only ,
670- !!config->always_inline ,
671- !!config->enable_early_simplifications ,
672- !!config->enable_early_optimizations ,
673- !!config->enable_scalar_optimizations ,
674- !!config->enable_loop_optimizations ,
675- !!config->enable_vector_pipeline ,
676- !!config->remove_ni ,
677- !!config->cleanup ,
678- !!config->warn_missed_transformations });
679- }
680621
681622#undef JULIA_PASS
682623
@@ -862,6 +803,14 @@ static Optional<std::pair<OptimizationLevel, OptimizationOptions>> parseJuliaPip
862803 OPTION (dump_native),
863804 OPTION (external_use),
864805 OPTION (llvm_only),
806+ OPTION (always_inline),
807+ OPTION (enable_early_simplifications),
808+ OPTION (enable_early_optimizations),
809+ OPTION (enable_scalar_optimizations),
810+ OPTION (enable_loop_optimizations),
811+ OPTION (enable_vector_pipeline),
812+ OPTION (remove_ni),
813+ OPTION (cleanup),
865814 OPTION (warn_missed_transformations)
866815#undef OPTION
867816 };
0 commit comments