Skip to content

Commit b3d8e71

Browse files
authored
Rollup merge of #97969 - inglorion:prelinkpasses, r=nikic
Make -Cpasses= only apply to pre-link optimization This change causes passes specified in -Cpasses= to be applied only during pre-link optimization, not during LTO. This avoids such passes running multiple times, which they may not be designed for. Fixes #97713
2 parents 39de4e4 + 6738434 commit b3d8e71

File tree

1 file changed

+1
-1
lines changed
  • compiler/rustc_codegen_llvm/src/back

1 file changed

+1
-1
lines changed

compiler/rustc_codegen_llvm/src/back/write.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ pub(crate) unsafe fn optimize_with_new_llvm_pass_manager(
463463
let llvm_selfprofiler =
464464
llvm_profiler.as_mut().map(|s| s as *mut _ as *mut c_void).unwrap_or(std::ptr::null_mut());
465465

466-
let extra_passes = config.passes.join(",");
466+
let extra_passes = if !is_lto { config.passes.join(",") } else { "".to_string() };
467467

468468
let llvm_plugins = config.llvm_plugins.join(",");
469469

0 commit comments

Comments
 (0)