1414// /
1515// ===----------------------------------------------------------------------===//
1616
17- #include " llvm/ADT/ScopeExit.h"
1817#include " llvm/ADT/Statistic.h"
1918#include " llvm/Analysis/AliasAnalysis.h"
2019#include " llvm/Analysis/BasicAliasAnalysis.h"
@@ -1819,15 +1818,6 @@ PassBuilder::buildLTODefaultPipeline(OptimizationLevel Level,
18191818
18201819 MPM.addPass (CoroEarlyPass ());
18211820
1822- auto Exit = llvm::make_scope_exit ([&]() {
1823- MPM.addPass (CoroCleanupPass ());
1824-
1825- invokeFullLinkTimeOptimizationLastEPCallbacks (MPM, Level);
1826-
1827- // Emit annotation remarks.
1828- addAnnotationRemarksPass (MPM);
1829- });
1830-
18311821 if (Level == OptimizationLevel::O0) {
18321822 // The WPD and LowerTypeTest passes need to run at -O0 to lower type
18331823 // metadata and intrinsics.
@@ -1837,6 +1827,12 @@ PassBuilder::buildLTODefaultPipeline(OptimizationLevel Level,
18371827 // in ICP.
18381828 MPM.addPass (LowerTypeTestsPass (nullptr , nullptr ,
18391829 lowertypetests::DropTestKind::Assume));
1830+ MPM.addPass (CoroCleanupPass ());
1831+
1832+ invokeFullLinkTimeOptimizationLastEPCallbacks (MPM, Level);
1833+
1834+ // Emit annotation remarks.
1835+ addAnnotationRemarksPass (MPM);
18401836
18411837 return MPM;
18421838 }
@@ -1917,6 +1913,13 @@ PassBuilder::buildLTODefaultPipeline(OptimizationLevel Level,
19171913 MPM.addPass (LowerTypeTestsPass (nullptr , nullptr ,
19181914 lowertypetests::DropTestKind::Assume));
19191915
1916+ MPM.addPass (CoroCleanupPass ());
1917+
1918+ invokeFullLinkTimeOptimizationLastEPCallbacks (MPM, Level);
1919+
1920+ // Emit annotation remarks.
1921+ addAnnotationRemarksPass (MPM);
1922+
19201923 return MPM;
19211924 }
19221925
@@ -2141,6 +2144,13 @@ PassBuilder::buildLTODefaultPipeline(OptimizationLevel Level,
21412144 if (PTO.CallGraphProfile )
21422145 MPM.addPass (CGProfilePass (/* InLTOPostLink=*/ true ));
21432146
2147+ MPM.addPass (CoroCleanupPass ());
2148+
2149+ invokeFullLinkTimeOptimizationLastEPCallbacks (MPM, Level);
2150+
2151+ // Emit annotation remarks.
2152+ addAnnotationRemarksPass (MPM);
2153+
21442154 return MPM;
21452155}
21462156
0 commit comments