Skip to content

Commit cbf493d

Browse files
Set 'PrepareForThinLTO' whenever doing cross-language LTO.
1 parent d682c37 commit cbf493d

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/librustc_codegen_llvm/back/write.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,9 @@ unsafe fn optimize(cgcx: &CodegenContext,
546546
llvm::LLVMRustAddAnalysisPasses(tm, fpm, llmod);
547547
llvm::LLVMRustAddAnalysisPasses(tm, mpm, llmod);
548548
let opt_level = config.opt_level.unwrap_or(llvm::CodeGenOptLevel::None);
549-
let prepare_for_thin_lto = cgcx.lto == Lto::Thin || cgcx.lto == Lto::ThinLocal;
549+
let prepare_for_thin_lto = cgcx.lto == Lto::Thin ||
550+
cgcx.lto == Lto::ThinLocal ||
551+
(cgcx.lto != Lto::Fat && cgcx.opts.debugging_opts.cross_lang_lto.enabled());
550552
with_llvm_pmb(llmod, &config, opt_level, prepare_for_thin_lto, &mut |b| {
551553
llvm::LLVMPassManagerBuilderPopulateFunctionPassManager(b, fpm);
552554
llvm::LLVMPassManagerBuilderPopulateModulePassManager(b, mpm);

0 commit comments

Comments
 (0)