@@ -609,7 +609,8 @@ static void buildPipeline(ModulePassManager &MPM, PassBuilder *PB, OptimizationL
609609 if (O.getSpeedupLevel () >= 2 ) {
610610 buildVectorPipeline (FPM, PB, O, options);
611611 }
612- FPM.addPass (WarnMissedTransformationsPass ());
612+ if (options.warn_missed_transformations )
613+ FPM.addPass (WarnMissedTransformationsPass ());
613614 MPM.addPass (createModuleToFunctionPassAdaptor (std::move (FPM)));
614615 }
615616 buildIntrinsicLoweringPipeline (MPM, PB, O, options);
@@ -632,6 +633,7 @@ struct PipelineConfig {
632633 int enable_vector_pipeline;
633634 int remove_ni;
634635 int cleanup;
636+ int warn_missed_transformations;
635637};
636638
637639extern " C" JL_DLLEXPORT_CODEGEN void jl_build_newpm_pipeline_impl (void *MPM, void *PB, PipelineConfig* config) JL_NOTSAFEPOINT
@@ -672,7 +674,8 @@ extern "C" JL_DLLEXPORT_CODEGEN void jl_build_newpm_pipeline_impl(void *MPM, voi
672674 !!config->enable_loop_optimizations ,
673675 !!config->enable_vector_pipeline ,
674676 !!config->remove_ni ,
675- !!config->cleanup });
677+ !!config->cleanup ,
678+ !!config->warn_missed_transformations });
676679}
677680
678681#undef JULIA_PASS
@@ -870,7 +873,8 @@ static Optional<std::pair<OptimizationLevel, OptimizationOptions>> parseJuliaPip
870873 OPTION (lower_intrinsics),
871874 OPTION (dump_native),
872875 OPTION (external_use),
873- OPTION (llvm_only)
876+ OPTION (llvm_only),
877+ OPTION (warn_missed_transformations)
874878#undef OPTION
875879 };
876880 while (!name.empty ()) {
0 commit comments