Load new pass manager plugins only if the new pm is actually used
This commit is contained in:
parent
052961b013
commit
f431df0d7f
@ -119,11 +119,11 @@ fn llvm_arg_to_arg_name(full_arg: &str) -> &str {
|
||||
|
||||
llvm::LLVMInitializePasses();
|
||||
|
||||
let use_new_llvm_pm_plugin_register =
|
||||
sess.opts.debugging_opts.new_llvm_pass_manager.unwrap_or(false);
|
||||
|
||||
// Use the legacy pm registration if the new_llvm_pass_manager option isn't explicitly enabled
|
||||
if !use_new_llvm_pm_plugin_register {
|
||||
// Use the legacy plugin registration if we don't use the new pass manager
|
||||
if !should_use_new_llvm_pass_manager(
|
||||
&sess.opts.debugging_opts.new_llvm_pass_manager,
|
||||
&sess.target.arch,
|
||||
) {
|
||||
// Register LLVM plugins by loading them into the compiler process.
|
||||
for plugin in &sess.opts.debugging_opts.llvm_plugins {
|
||||
let lib = Library::new(plugin).unwrap_or_else(|e| bug!("couldn't load plugin: {}", e));
|
||||
|
@ -261,11 +261,7 @@ macro_rules! if_regular {
|
||||
inline_threshold: sess.opts.cg.inline_threshold,
|
||||
new_llvm_pass_manager: sess.opts.debugging_opts.new_llvm_pass_manager,
|
||||
emit_lifetime_markers: sess.emit_lifetime_markers(),
|
||||
llvm_plugins: if sess.opts.debugging_opts.new_llvm_pass_manager.unwrap_or(false) {
|
||||
if_regular!(sess.opts.debugging_opts.llvm_plugins.clone(), vec![])
|
||||
} else {
|
||||
vec![]
|
||||
},
|
||||
llvm_plugins: if_regular!(sess.opts.debugging_opts.llvm_plugins.clone(), vec![]),
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user