File tree Expand file tree Collapse file tree 2 files changed +5
-6
lines changed Expand file tree Collapse file tree 2 files changed +5
-6
lines changed Original file line number Diff line number Diff 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,
Original file line number Diff line number Diff 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 }
You can’t perform that action at this time.
0 commit comments