File tree Expand file tree Collapse file tree 1 file changed +3
-12
lines changed
compiler/rustc_llvm/llvm-wrapper Expand file tree Collapse file tree 1 file changed +3
-12
lines changed Original file line number Diff line number Diff line change @@ -934,25 +934,16 @@ LLVMRustOptimize(
934934 } else {
935935 for (const auto &C : PipelineStartEPCallbacks)
936936 PB.registerPipelineStartEPCallback (C);
937- if (OptStage != LLVMRustOptStage::PreLinkThinLTO) {
938- for (const auto &C : OptimizerLastEPCallbacks)
939- PB.registerOptimizerLastEPCallback (C);
940- }
937+ for (const auto &C : OptimizerLastEPCallbacks)
938+ PB.registerOptimizerLastEPCallback (C);
941939
942940 switch (OptStage) {
943941 case LLVMRustOptStage::PreLinkNoLTO:
944942 MPM = PB.buildPerModuleDefaultPipeline (OptLevel, DebugPassManager);
945943 break ;
946944 case LLVMRustOptStage::PreLinkThinLTO:
947945 MPM = PB.buildThinLTOPreLinkDefaultPipeline (OptLevel);
948- // The ThinLTOPreLink pipeline already includes ThinLTOBuffer passes. However, callback
949- // passes may still run afterwards. This means we need to run the buffer passes again.
950- // FIXME: In LLVM 13, the ThinLTOPreLink pipeline also runs OptimizerLastEPCallbacks
951- // before the RequiredLTOPreLinkPasses, in which case we can remove these hacks.
952- if (OptimizerLastEPCallbacks.empty ())
953- NeedThinLTOBufferPasses = false ;
954- for (const auto &C : OptimizerLastEPCallbacks)
955- C (MPM, OptLevel);
946+ NeedThinLTOBufferPasses = false ;
956947 break ;
957948 case LLVMRustOptStage::PreLinkFatLTO:
958949 MPM = PB.buildLTOPreLinkDefaultPipeline (OptLevel);
You can’t perform that action at this time.
0 commit comments