Skip to content

Commit a03edc6

Browse files
committed
Put the condition into the function items_in_deterministic_order
1 parent 35dd4c9 commit a03edc6

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

compiler/rustc_codegen_llvm/src/base.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,7 @@ pub(crate) fn compile_codegen_unit(
8484
let llvm_module = ModuleLlvm::new(tcx, cgu_name.as_str());
8585
{
8686
let mut cx = CodegenCx::new(tcx, cgu, &llvm_module);
87-
let mono_items = if tcx.sess.opts.unstable_opts.codegen_source_order {
88-
cx.codegen_unit.items_in_deterministic_order(cx.tcx)
89-
} else {
90-
// The `items` has a deterministic order, so we can use it directly.
91-
cx.codegen_unit.items().iter().map(|(item, data)| (*item, *data)).collect()
92-
};
87+
let mono_items = cx.codegen_unit.items_in_deterministic_order(cx.tcx);
9388
for &(mono_item, data) in &mono_items {
9489
mono_item.predefine::<Builder<'_, '_, '_>>(
9590
&mut cx,

compiler/rustc_middle/src/mir/mono.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,10 @@ impl<'tcx> CodegenUnit<'tcx> {
568568
}
569569

570570
let mut items: Vec<_> = self.items().iter().map(|(&i, &data)| (i, data)).collect();
571+
if !tcx.sess.opts.unstable_opts.codegen_source_order {
572+
// It's already deterministic, so we can just use it.
573+
return items;
574+
}
571575
items.sort_by_cached_key(|&(i, _)| item_sort_key(tcx, i));
572576
items
573577
}

0 commit comments

Comments
 (0)