diff --git a/nac3artiq/src/lib.rs b/nac3artiq/src/lib.rs index 18eeb5d..68e837b 100644 --- a/nac3artiq/src/lib.rs +++ b/nac3artiq/src/lib.rs @@ -660,7 +660,8 @@ impl Nac3 { let pass_options = PassBuilderOptions::create(); pass_options.set_merge_functions(true); - let result = main.run_passes("default", &target_machine, pass_options); + let passes = format!("default", self.llvm_options.opt_level as u32); + let result = main.run_passes(passes.as_str(), &target_machine, pass_options); if let Err(err) = result { panic!("Failed to run optimization for module `main`: {}", err.to_string()); } diff --git a/nac3core/src/codegen/mod.rs b/nac3core/src/codegen/mod.rs index 4684cad..e05b721 100644 --- a/nac3core/src/codegen/mod.rs +++ b/nac3core/src/codegen/mod.rs @@ -327,7 +327,6 @@ impl WorkerRegistry { self.llvm_options.opt_level ).expect(format!("could not create target machine from properties {:?}", self.llvm_options.target).as_str()); let passes = format!("default", self.llvm_options.opt_level as u32); - let result = module.run_passes(passes.as_str(), &target_machine, pass_options); if let Err(err) = result { panic!("Failed to run optimization for module `{}`: {}", diff --git a/nac3standalone/src/main.rs b/nac3standalone/src/main.rs index d45b875..16f3aae 100644 --- a/nac3standalone/src/main.rs +++ b/nac3standalone/src/main.rs @@ -370,7 +370,8 @@ fn main() { let pass_options = PassBuilderOptions::create(); pass_options.set_merge_functions(true); - let result = main.run_passes("default", &target_machine, pass_options); + let passes = format!("default", opt_level as u32); + let result = main.run_passes(passes.as_str(), &target_machine, pass_options); if let Err(err) = result { panic!("Failed to run optimization for module `main`: {}", err.to_string()); }