@@ -253,15 +253,15 @@ template <typename DerivedT, typename TargetMachineT> class CodeGenPassBuilder {
253253
254254 private:
255255 void flushFPMToMPM () {
256- if (!FPM.isEmpty ()) {
257- if (PB.AddInCGSCCOrder ) {
258- MPM.addPass (createModuleToPostOrderCGSCCPassAdaptor (
259- createCGSCCToFunctionPassAdaptor (std::move (FPM))));
260- } else {
261- MPM.addPass (createModuleToFunctionPassAdaptor (std::move (FPM)));
262- }
263- FPM = FunctionPassManager ();
256+ if (FPM.isEmpty ())
257+ return ;
258+ if (PB.AddInCGSCCOrder ) {
259+ MPM.addPass (createModuleToPostOrderCGSCCPassAdaptor (
260+ createCGSCCToFunctionPassAdaptor (std::move (FPM))));
261+ } else {
262+ MPM.addPass (createModuleToFunctionPassAdaptor (std::move (FPM)));
264263 }
264+ FPM = FunctionPassManager ();
265265 }
266266 ModulePassManager &MPM;
267267 FunctionPassManager FPM;
@@ -274,17 +274,17 @@ template <typename DerivedT, typename TargetMachineT> class CodeGenPassBuilder {
274274 AddMachinePass (ModulePassManager &MPM, const DerivedT &PB)
275275 : MPM(MPM), PB(PB) {}
276276 ~AddMachinePass () {
277- if (! MFPM.isEmpty ()) {
278- FunctionPassManager FPM ;
279- FPM. addPass (
280- createFunctionToMachineFunctionPassAdaptor ( std::move (MFPM))) ;
281- FPM.addPass (InvalidateAnalysisPass<MachineFunctionAnalysis>( ));
282- if ( this -> PB . AddInCGSCCOrder ) {
283- MPM. addPass ( createModuleToPostOrderCGSCCPassAdaptor (
284- createCGSCCToFunctionPassAdaptor ( std::move (FPM))));
285- } else
286- MPM. addPass ( createModuleToFunctionPassAdaptor ( std::move (FPM)));
287- }
277+ if (MFPM.isEmpty ())
278+ return ;
279+
280+ FunctionPassManager FPM ;
281+ FPM.addPass (createFunctionToMachineFunctionPassAdaptor ( std::move (MFPM) ));
282+ FPM. addPass (InvalidateAnalysisPass<MachineFunctionAnalysis>());
283+ if ( this -> PB . AddInCGSCCOrder ) {
284+ MPM. addPass ( createModuleToPostOrderCGSCCPassAdaptor (
285+ createCGSCCToFunctionPassAdaptor ( std::move (FPM))));
286+ } else
287+ MPM. addPass ( createModuleToFunctionPassAdaptor ( std::move (FPM)));
288288 }
289289
290290 template <typename PassT>
0 commit comments