File tree 1 file changed +3
-12
lines changed
compiler/rustc_llvm/llvm-wrapper
1 file changed +3
-12
lines changed Original file line number Diff line number Diff line change @@ -934,25 +934,16 @@ LLVMRustOptimize(
934
934
} else {
935
935
for (const auto &C : PipelineStartEPCallbacks)
936
936
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);
941
939
942
940
switch (OptStage) {
943
941
case LLVMRustOptStage::PreLinkNoLTO:
944
942
MPM = PB.buildPerModuleDefaultPipeline (OptLevel, DebugPassManager);
945
943
break ;
946
944
case LLVMRustOptStage::PreLinkThinLTO:
947
945
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 ;
956
947
break ;
957
948
case LLVMRustOptStage::PreLinkFatLTO:
958
949
MPM = PB.buildLTOPreLinkDefaultPipeline (OptLevel);
You can’t perform that action at this time.
0 commit comments