@@ -175,7 +175,7 @@ template <typename DerivedT> class CodeGenPassBuilder {
175175 // Function object to maintain state while adding codegen IR passes.
176176 class AddIRPass {
177177 public:
178- AddIRPass (ModulePassManager &MPM, bool DebugPM ) : MPM(MPM) {}
178+ AddIRPass (ModulePassManager &MPM) : MPM(MPM) {}
179179 ~AddIRPass () {
180180 if (!FPM.isEmpty ())
181181 MPM.addPass (createModuleToFunctionPassAdaptor (std::move (FPM)));
@@ -187,17 +187,16 @@ template <typename DerivedT> class CodeGenPassBuilder {
187187 " Only module pass and function pass are supported." );
188188
189189 // Add Function Pass
190- if constexpr (is_detected<is_function_pass_t , PassT>::value) {
190+ if constexpr (is_detected<is_function_pass_t , PassT>::value)
191191 FPM.addPass (std::forward<PassT>(Pass));
192- return ;
192+ else {
193+ // Add Module Pass
194+ if (!FPM.isEmpty ()) {
195+ MPM.addPass (createModuleToFunctionPassAdaptor (std::move (FPM)));
196+ FPM = FunctionPassManager ();
197+ }
198+ MPM.addPass (std::forward<PassT>(Pass));
193199 }
194-
195- // Add Module Pass
196- if (!FPM.isEmpty ()) {
197- MPM.addPass (createModuleToFunctionPassAdaptor (std::move (FPM)));
198- FPM = FunctionPassManager ();
199- }
200- MPM.addPass (std::forward<PassT>(Pass));
201200 }
202201
203202 private:
@@ -477,7 +476,7 @@ Error CodeGenPassBuilder<Derived>::buildPipeline(
477476 ModulePassManager &MPM, MachineFunctionPassManager &MFPM,
478477 raw_pwrite_stream &Out, raw_pwrite_stream *DwoOut,
479478 CodeGenFileType FileType) const {
480- AddIRPass addIRPass (MPM, Opt. DebugPM );
479+ AddIRPass addIRPass (MPM);
481480 // `ProfileSummaryInfo` is always valid.
482481 addIRPass (RequireAnalysisPass<ProfileSummaryAnalysis, Module>());
483482 addIRPass (RequireAnalysisPass<CollectorMetadataAnalysis, Module>());
0 commit comments