diff options
| author | Nikita Popov <nikita.ppv@gmail.com> | 2020-01-05 19:16:58 +0100 |
|---|---|---|
| committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-02-12 15:34:16 +0100 |
| commit | c6b0803202c95abd614c8ea448f7c7ff948da31a (patch) | |
| tree | ff563ab4d941505fce9c69f570f21db541c91ca5 /src/librustc_codegen_ssa | |
| parent | 737f08bc28363626cf4036f646cb182b61d05bd3 (diff) | |
Add support for new pass manager
The new pass manager can be enabled using -Z new-llvm-pass-manager=on.
Diffstat (limited to 'src/librustc_codegen_ssa')
| -rw-r--r-- | src/librustc_codegen_ssa/back/write.rs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/librustc_codegen_ssa/back/write.rs b/src/librustc_codegen_ssa/back/write.rs index 9905b3a56c0..92f795acc54 100644 --- a/src/librustc_codegen_ssa/back/write.rs +++ b/src/librustc_codegen_ssa/back/write.rs @@ -88,6 +88,7 @@ pub struct ModuleConfig { pub vectorize_slp: bool, pub merge_functions: bool, pub inline_threshold: Option<usize>, + pub new_llvm_pass_manager: Option<bool>, // Instead of creating an object file by doing LLVM codegen, just // make the object file bitcode. Provides easy compatibility with // emscripten's ecc compiler, when used as the linker. @@ -132,6 +133,7 @@ impl ModuleConfig { vectorize_slp: false, merge_functions: false, inline_threshold: None, + new_llvm_pass_manager: None, } } @@ -140,6 +142,7 @@ impl ModuleConfig { self.no_prepopulate_passes = sess.opts.cg.no_prepopulate_passes; self.no_builtins = no_builtins || sess.target.target.options.no_builtins; self.inline_threshold = sess.opts.cg.inline_threshold; + self.new_llvm_pass_manager = sess.opts.debugging_opts.new_llvm_pass_manager; self.obj_is_bitcode = sess.target.target.options.obj_is_bitcode || sess.opts.cg.linker_plugin_lto.enabled(); let embed_bitcode = |
