about summary refs log tree commit diff
path: root/src/librustc_codegen_ssa
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2018-12-03 20:50:39 +0100
committerNikita Popov <nikita.ppv@gmail.com>2018-12-04 16:10:24 +0100
commitbc2db43b9e85c3aeaec021b7d70701233930711f (patch)
tree44d3b9195e36e649f9e7648a36f36a0dfcf88ce7 /src/librustc_codegen_ssa
parentbdbee6311b5a317630fb46c7c46d50b14e18da24 (diff)
downloadrust-bc2db43b9e85c3aeaec021b7d70701233930711f.tar.gz
rust-bc2db43b9e85c3aeaec021b7d70701233930711f.zip
Remove unnecessary parts of run_fat_lto signature
Fat LTO merges into one module, so only return one module.
Diffstat (limited to 'src/librustc_codegen_ssa')
-rw-r--r--src/librustc_codegen_ssa/back/write.rs6
-rw-r--r--src/librustc_codegen_ssa/traits/write.rs3
2 files changed, 5 insertions, 4 deletions
diff --git a/src/librustc_codegen_ssa/back/write.rs b/src/librustc_codegen_ssa/back/write.rs
index 5e89265d56f..fe40cb18483 100644
--- a/src/librustc_codegen_ssa/back/write.rs
+++ b/src/librustc_codegen_ssa/back/write.rs
@@ -264,8 +264,10 @@ fn generate_lto_work<B: ExtraBackendMethods>(
 
     let (lto_modules, copy_jobs) = if !needs_fat_lto.is_empty() {
         assert!(needs_thin_lto.is_empty());
-        B::run_fat_lto(cgcx, needs_fat_lto, import_only_modules, &mut timeline)
-            .unwrap_or_else(|e| e.raise())
+        assert!(import_only_modules.is_empty());
+        let lto_module = B::run_fat_lto(cgcx, needs_fat_lto, &mut timeline)
+            .unwrap_or_else(|e| e.raise());
+        (vec![lto_module], vec![])
     } else {
         assert!(needs_fat_lto.is_empty());
         B::run_thin_lto(cgcx, needs_thin_lto, import_only_modules, &mut timeline)
diff --git a/src/librustc_codegen_ssa/traits/write.rs b/src/librustc_codegen_ssa/traits/write.rs
index 5bc44dfeeb3..7b8f9395f85 100644
--- a/src/librustc_codegen_ssa/traits/write.rs
+++ b/src/librustc_codegen_ssa/traits/write.rs
@@ -29,9 +29,8 @@ pub trait WriteBackendMethods: 'static + Sized + Clone {
     fn run_fat_lto(
         cgcx: &CodegenContext<Self>,
         modules: Vec<ModuleCodegen<Self::Module>>,
-        cached_modules: Vec<(SerializedModule<Self::ModuleBuffer>, WorkProduct)>,
         timeline: &mut Timeline,
-    ) -> Result<(Vec<LtoModuleCodegen<Self>>, Vec<WorkProduct>), FatalError>;
+    ) -> Result<LtoModuleCodegen<Self>, FatalError>;
     /// Performs thin LTO by performing necessary global analysis and returning two
     /// lists, one of the modules that need optimization and another for modules that
     /// can simply be copied over from the incr. comp. cache.