Skip to content

Commit 037f515

Browse files
committed
Auto merge of #120368 - klensy:llvm-fixme, r=nikic
llvm-wrapper: remove llvm 12 hack effectively reverts 9a8acea r? `@nikic`
2 parents 94df917 + ca35cfb commit 037f515

File tree

1 file changed

+3
-12
lines changed

1 file changed

+3
-12
lines changed

compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp

+3-12
Original file line numberDiff line numberDiff 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);

0 commit comments

Comments
 (0)