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(
84
84
let llvm_module = ModuleLlvm :: new ( tcx, cgu_name. as_str ( ) ) ;
85
85
{
86
86
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 ) ;
93
88
for & ( mono_item, data) in & mono_items {
94
89
mono_item. predefine :: < Builder < ' _ , ' _ , ' _ > > (
95
90
& mut cx,
Original file line number Diff line number Diff line change @@ -568,6 +568,10 @@ impl<'tcx> CodegenUnit<'tcx> {
568
568
}
569
569
570
570
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
+ }
571
575
items. sort_by_cached_key ( |& ( i, _) | item_sort_key ( tcx, i) ) ;
572
576
items
573
577
}
You can’t perform that action at this time.
0 commit comments