@@ -17,10 +17,7 @@ use rustc_ast::expand::allocator::AllocatorKind;
1717use rustc_attr as attr;
1818use rustc_data_structures:: fx:: { FxHashMap , FxHashSet } ;
1919use rustc_data_structures:: profiling:: { get_resident_set_size, print_time_passes_entry} ;
20-
21- use rustc_data_structures:: sync:: par_iter;
22- #[ cfg( parallel_compiler) ]
23- use rustc_data_structures:: sync:: ParallelIterator ;
20+ use rustc_data_structures:: sync:: par_map;
2421use rustc_hir as hir;
2522use rustc_hir:: def_id:: { DefId , LOCAL_CRATE } ;
2623use rustc_hir:: lang_items:: LangItem ;
@@ -30,8 +27,8 @@ use rustc_middle::middle::exported_symbols;
3027use rustc_middle:: middle:: exported_symbols:: SymbolExportKind ;
3128use rustc_middle:: middle:: lang_items;
3229use rustc_middle:: mir:: mono:: { CodegenUnit , CodegenUnitNameBuilder , MonoItem } ;
30+ use rustc_middle:: query:: Providers ;
3331use rustc_middle:: ty:: layout:: { HasTyCtxt , LayoutOf , TyAndLayout } ;
34- use rustc_middle:: ty:: query:: Providers ;
3532use rustc_middle:: ty:: { self , Instance , Ty , TyCtxt } ;
3633use rustc_session:: cgu_reuse_tracker:: CguReuse ;
3734use rustc_session:: config:: { self , CrateType , EntryFnType , OutputType } ;
@@ -689,7 +686,7 @@ pub fn codegen_crate<B: ExtraBackendMethods>(
689686 // This likely is a temporary measure. Once we don't have to support the
690687 // non-parallel compiler anymore, we can compile CGUs end-to-end in
691688 // parallel and get rid of the complicated scheduling logic.
692- let mut pre_compiled_cgus = if cfg ! ( parallel_compiler ) {
689+ let mut pre_compiled_cgus = if tcx . sess . threads ( ) > 1 {
693690 tcx. sess . time ( "compile_first_CGU_batch" , || {
694691 // Try to find one CGU to compile per thread.
695692 let cgus: Vec < _ > = cgu_reuse
@@ -702,12 +699,10 @@ pub fn codegen_crate<B: ExtraBackendMethods>(
702699 // Compile the found CGUs in parallel.
703700 let start_time = Instant :: now ( ) ;
704701
705- let pre_compiled_cgus = par_iter ( cgus)
706- . map ( |( i, _) | {
707- let module = backend. compile_codegen_unit ( tcx, codegen_units[ i] . name ( ) ) ;
708- ( i, module)
709- } )
710- . collect ( ) ;
702+ let pre_compiled_cgus = par_map ( cgus, |( i, _) | {
703+ let module = backend. compile_codegen_unit ( tcx, codegen_units[ i] . name ( ) ) ;
704+ ( i, module)
705+ } ) ;
711706
712707 total_codegen_time += start_time. elapsed ( ) ;
713708
0 commit comments