Skip to content

Commit 685c90e

Browse files
Set 'PrepareForThinLTO' whenever doing cross-language LTO.
1 parent 1092527 commit 685c90e

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
@@ -545,7 +545,9 @@ unsafe fn optimize(cgcx: &CodegenContext,
545545
llvm::LLVMRustAddAnalysisPasses(tm, fpm, llmod);
546546
llvm::LLVMRustAddAnalysisPasses(tm, mpm, llmod);
547547
let opt_level = config.opt_level.unwrap_or(llvm::CodeGenOptLevel::None);
548-
let prepare_for_thin_lto = cgcx.lto == Lto::Thin || cgcx.lto == Lto::ThinLocal;
548+
let prepare_for_thin_lto = cgcx.lto == Lto::Thin ||
549+
cgcx.lto == Lto::ThinLocal ||
550+
(cgcx.lto != Lto::Fat && cgcx.opts.debugging_opts.cross_lang_lto.enabled());
549551
with_llvm_pmb(llmod, &config, opt_level, prepare_for_thin_lto, &mut |b| {
550552
llvm::LLVMPassManagerBuilderPopulateFunctionPassManager(b, fpm);
551553
llvm::LLVMPassManagerBuilderPopulateModulePassManager(b, mpm);

0 commit comments

Comments
 (0)