Add a codegen option to allow loading LLVM pass plugins

This commit is contained in:
Axel Cohen 2021-11-19 17:01:41 +01:00
parent 4a7fb971c9
commit 97cf461b8f
6 changed files with 30 additions and 1 deletions

View file

@ -74,6 +74,8 @@ pub enum BitcodeSection {
pub struct ModuleConfig {
/// Names of additional optimization passes to run.
pub passes: Vec<String>,
/// Paths of LLVM pass plugins to load.
pub pass_plugins: Vec<String>,
/// Some(level) to optimize at a certain level, or None to run
/// absolutely no optimizations (used for the metadata module).
pub opt_level: Option<config::OptLevel>,
@ -170,6 +172,8 @@ impl ModuleConfig {
ModuleConfig {
passes: if_regular!(sess.opts.cg.passes.clone(), vec![]),
pass_plugins: if_regular!(sess.opts.cg.pass_plugins.clone(), vec![]),
opt_level: opt_level_and_size,
opt_size: opt_level_and_size,