Index: llvm/lib/Passes/PassBuilderPipelines.cpp =================================================================== --- llvm/lib/Passes/PassBuilderPipelines.cpp +++ llvm/lib/Passes/PassBuilderPipelines.cpp @@ -1206,11 +1206,8 @@ .hoistCommonInsts(true) .sinkCommonInsts(true))); - if (IsFullLTO) { - FPM.addPass(SCCPPass()); + if (IsFullLTO) FPM.addPass(InstCombinePass()); - FPM.addPass(BDCEPass()); - } // Optimize parallel scalar instruction chains into SIMD instructions. if (PTO.SLPVectorization) { @@ -1815,6 +1812,9 @@ MainFPM.addPass(MoveAutoInitPass()); MainFPM.addPass(MergedLoadStoreMotionPass()); + MainFPM.addPass(SCCPPass()); + MainFPM.addPass(BDCEPass()); + LoopPassManager LPM; if (EnableLoopFlatten && Level.getSpeedupLevel() > 1) LPM.addPass(LoopFlattenPass()); Index: llvm/test/Other/new-pm-lto-defaults.ll =================================================================== --- llvm/test/Other/new-pm-lto-defaults.ll +++ llvm/test/Other/new-pm-lto-defaults.ll @@ -108,6 +108,9 @@ ; CHECK-O23SZ-NEXT: Running analysis: PostDominatorTreeAnalysis on foo ; CHECK-O23SZ-NEXT: Running pass: MoveAutoInitPass on foo ; CHECK-O23SZ-NEXT: Running pass: MergedLoadStoreMotionPass on foo +; CHECK-O23SZ-NEXT: Running pass: SCCPPass on foo +; CHECK-O23SZ-NEXT: Running pass: BDCEPass on foo +; CHECK-O23SZ-NEXT: Running analysis: DemandedBitsAnalysis on foo ; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass on foo ; CHECK-O23SZ-NEXT: Running pass: LCSSAPass on foo ; CHECK-O23SZ-NEXT: Running pass: IndVarSimplifyPass on loop @@ -116,15 +119,12 @@ ; CHECK-O23SZ-NEXT: Running pass: LoopDistributePass on foo ; CHECK-O23SZ-NEXT: Running analysis: LoopAccessAnalysis on foo ; CHECK-O23SZ-NEXT: Running pass: LoopVectorizePass on foo -; CHECK-O23SZ-NEXT: Running analysis: DemandedBitsAnalysis on foo ; CHECK-O23SZ-NEXT: Running pass: LoopUnrollPass on foo ; CHECK-O23SZ-NEXT: WarnMissedTransformationsPass on foo ; CHECK-O23SZ-NEXT: Running pass: SROAPass on foo ; CHECK-O23SZ-NEXT: Running pass: InstCombinePass on foo ; CHECK-O23SZ-NEXT: Running pass: SimplifyCFGPass on foo -; CHECK-O23SZ-NEXT: Running pass: SCCPPass on foo ; CHECK-O23SZ-NEXT: Running pass: InstCombinePass on foo -; CHECK-O23SZ-NEXT: Running pass: BDCEPass on foo ; CHECK-O2-NEXT: Running pass: SLPVectorizerPass on foo ; CHECK-O3-NEXT: Running pass: SLPVectorizerPass on foo ; CHECK-OS-NEXT: Running pass: SLPVectorizerPass on foo