Set 'PrepareForThinLTO' whenever doing cross-language LTO.
This commit is contained in:
parent
3742f4d9f6
commit
f2969ed6c3
1 changed files with 2 additions and 1 deletions
|
@ -552,7 +552,8 @@ unsafe fn optimize(cgcx: &CodegenContext,
|
||||||
llvm::LLVMRustAddAnalysisPasses(tm, fpm, llmod);
|
llvm::LLVMRustAddAnalysisPasses(tm, fpm, llmod);
|
||||||
llvm::LLVMRustAddAnalysisPasses(tm, mpm, llmod);
|
llvm::LLVMRustAddAnalysisPasses(tm, mpm, llmod);
|
||||||
let opt_level = config.opt_level.unwrap_or(llvm::CodeGenOptLevel::None);
|
let opt_level = config.opt_level.unwrap_or(llvm::CodeGenOptLevel::None);
|
||||||
let prepare_for_thin_lto = cgcx.lto == Lto::Thin || cgcx.lto == Lto::ThinLocal;
|
let prepare_for_thin_lto = cgcx.lto == Lto::Thin || cgcx.lto == Lto::ThinLocal ||
|
||||||
|
(cgcx.lto != Lto::Fat && cgcx.opts.debugging_opts.cross_lang_lto.enabled());
|
||||||
have_name_anon_globals_pass = have_name_anon_globals_pass || prepare_for_thin_lto;
|
have_name_anon_globals_pass = have_name_anon_globals_pass || prepare_for_thin_lto;
|
||||||
if using_thin_buffers && !prepare_for_thin_lto {
|
if using_thin_buffers && !prepare_for_thin_lto {
|
||||||
assert!(addpass("name-anon-globals"));
|
assert!(addpass("name-anon-globals"));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue