diff options
| author | bjorn3 <bjorn3@users.noreply.github.com> | 2022-04-30 20:51:17 +0200 |
|---|---|---|
| committer | bjorn3 <bjorn3@users.noreply.github.com> | 2022-04-30 20:51:17 +0200 |
| commit | ee94ff254aceccd27919f26c02541277a3ca7dd7 (patch) | |
| tree | 7334f45808f369a770827d9e8049da0ae05a983a /compiler/rustc_codegen_ssa/src/back | |
| parent | 336bb0afea102a0e4ec7f56c364c7cd0d2acb902 (diff) | |
| download | rust-ee94ff254aceccd27919f26c02541277a3ca7dd7.tar.gz rust-ee94ff254aceccd27919f26c02541277a3ca7dd7.zip | |
Let LtoModuleCodegen::optimize take self by value
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/back')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/back/lto.rs | 13 | ||||
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/back/write.rs | 2 |
2 files changed, 7 insertions, 8 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/lto.rs b/compiler/rustc_codegen_ssa/src/back/lto.rs index d6ae689f254..6dc8cb5038e 100644 --- a/compiler/rustc_codegen_ssa/src/back/lto.rs +++ b/compiler/rustc_codegen_ssa/src/back/lto.rs @@ -42,7 +42,7 @@ pub struct ThinShared<B: WriteBackendMethods> { pub enum LtoModuleCodegen<B: WriteBackendMethods> { Fat { - module: Option<ModuleCodegen<B::Module>>, + module: ModuleCodegen<B::Module>, _serialized_bitcode: Vec<SerializedModule<B::ModuleBuffer>>, }, @@ -64,19 +64,18 @@ impl<B: WriteBackendMethods> LtoModuleCodegen<B> { /// It's intended that the module returned is immediately code generated and /// dropped, and then this LTO module is dropped. pub unsafe fn optimize( - &mut self, + self, cgcx: &CodegenContext<B>, ) -> Result<ModuleCodegen<B::Module>, FatalError> { - match *self { - LtoModuleCodegen::Fat { ref mut module, .. } => { - let module = module.take().unwrap(); + match self { + LtoModuleCodegen::Fat { module, .. } => { { let config = cgcx.config(module.kind); - B::run_lto_pass_manager(cgcx, &module, config, false)?; + B::optimize_fat(cgcx, &module, config)?; } Ok(module) } - LtoModuleCodegen::Thin(ref mut thin) => B::optimize_thin(cgcx, thin), + LtoModuleCodegen::Thin(thin) => B::optimize_thin(cgcx, thin), } } diff --git a/compiler/rustc_codegen_ssa/src/back/write.rs b/compiler/rustc_codegen_ssa/src/back/write.rs index 98dc5fe8d64..88293dec01c 100644 --- a/compiler/rustc_codegen_ssa/src/back/write.rs +++ b/compiler/rustc_codegen_ssa/src/back/write.rs @@ -889,7 +889,7 @@ fn execute_copy_from_cache_work_item<B: ExtraBackendMethods>( fn execute_lto_work_item<B: ExtraBackendMethods>( cgcx: &CodegenContext<B>, - mut module: lto::LtoModuleCodegen<B>, + module: lto::LtoModuleCodegen<B>, module_config: &ModuleConfig, ) -> Result<WorkItemResult<B>, FatalError> { let module = unsafe { module.optimize(cgcx)? }; |
