summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2017-10-04 16:21:38 -0700
committerAlex Crichton <alex@alexcrichton.com>2017-10-04 16:21:38 -0700
commita70c5cb68f84e576b16fbca86453240290e7cc22 (patch)
treea531b73bb33be5b83bb5b2ae13c75f95f89fc64d
parent417ffc98dfc770c27f7f2d7430f0edf975576591 (diff)
downloadrust-a70c5cb68f84e576b16fbca86453240290e7cc22.tar.gz
rustc: Don't create empty codegen units
This'll end up just creating a bunch of object files that otherwise wouldn't exist, so skip that extra work if possible.
-rw-r--r--src/librustc_trans/base.rs3
-rw-r--r--src/librustc_trans/partitioning.rs9
2 files changed, 0 insertions, 12 deletions
diff --git a/src/librustc_trans/base.rs b/src/librustc_trans/base.rs
index 0568bd2f3ca..94e1d238c64 100644
--- a/src/librustc_trans/base.rs
+++ b/src/librustc_trans/base.rs
@@ -1178,9 +1178,6 @@ fn collect_and_partition_translation_items<'a, 'tcx>(
.collect::<Vec<_>>()
});
- assert!(tcx.sess.opts.codegen_units == codegen_units.len() ||
- tcx.sess.opts.debugging_opts.incremental.is_some());
-
let translation_items: DefIdSet = items.iter().filter_map(|trans_item| {
match *trans_item {
TransItem::Fn(ref instance) => Some(instance.def_id()),
diff --git a/src/librustc_trans/partitioning.rs b/src/librustc_trans/partitioning.rs
index 7c29186f465..a84bfd15402 100644
--- a/src/librustc_trans/partitioning.rs
+++ b/src/librustc_trans/partitioning.rs
@@ -407,15 +407,6 @@ fn merge_codegen_units<'tcx>(initial_partitioning: &mut PreInliningPartitioning<
for (index, cgu) in codegen_units.iter_mut().enumerate() {
cgu.set_name(numbered_codegen_unit_name(crate_name, index));
}
-
- // If the initial partitioning contained less than target_cgu_count to begin
- // with, we won't have enough codegen units here, so add a empty units until
- // we reach the target count
- while codegen_units.len() < target_cgu_count {
- let index = codegen_units.len();
- let name = numbered_codegen_unit_name(crate_name, index);
- codegen_units.push(CodegenUnit::new(name));
- }
}
fn place_inlined_translation_items<'tcx>(initial_partitioning: PreInliningPartitioning<'tcx>,