Skip to content

Commit 78fbcca

Browse files
committed
use cfg attribute instead of macro
1 parent 1fca19c commit 78fbcca

File tree

1 file changed

+27
-25
lines changed
  • compiler/rustc_codegen_ssa/src

1 file changed

+27
-25
lines changed

compiler/rustc_codegen_ssa/src/base.rs

+27-25
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ use crate::{CachedModuleCodegen, CompiledModule, CrateInfo, MemFlags, ModuleCode
1414
use rustc_attr as attr;
1515
use rustc_data_structures::fx::FxHashMap;
1616
use rustc_data_structures::profiling::{get_resident_set_size, print_time_passes_entry};
17+
18+
#[cfg(parallel_compiler)]
1719
use rustc_data_structures::sync::{par_iter, ParallelIterator};
1820
use rustc_hir as hir;
1921
use rustc_hir::def_id::{DefId, LOCAL_CRATE};
@@ -622,34 +624,34 @@ pub fn codegen_crate<B: ExtraBackendMethods>(
622624
// This likely is a temporary measure. Once we don't have to support the
623625
// non-parallel compiler anymore, we can compile CGUs end-to-end in
624626
// parallel and get rid of the complicated scheduling logic.
627+
#[cfg(parallel_compiler)]
625628
let pre_compile_cgus = |cgu_reuse: &[CguReuse]| {
626-
if cfg!(parallel_compiler) {
627-
tcx.sess.time("compile_first_CGU_batch", || {
628-
// Try to find one CGU to compile per thread.
629-
let cgus: Vec<_> = cgu_reuse
630-
.iter()
631-
.enumerate()
632-
.filter(|&(_, reuse)| reuse == &CguReuse::No)
633-
.take(tcx.sess.threads())
634-
.collect();
635-
636-
// Compile the found CGUs in parallel.
637-
let start_time = Instant::now();
638-
639-
let pre_compiled_cgus = par_iter(cgus)
640-
.map(|(i, _)| {
641-
let module = backend.compile_codegen_unit(tcx, codegen_units[i].name());
642-
(i, module)
643-
})
644-
.collect();
645-
646-
(pre_compiled_cgus, start_time.elapsed())
647-
})
648-
} else {
649-
(FxHashMap::default(), Duration::new(0, 0))
650-
}
629+
tcx.sess.time("compile_first_CGU_batch", || {
630+
// Try to find one CGU to compile per thread.
631+
let cgus: Vec<_> = cgu_reuse
632+
.iter()
633+
.enumerate()
634+
.filter(|&(_, reuse)| reuse == &CguReuse::No)
635+
.take(tcx.sess.threads())
636+
.collect();
637+
638+
// Compile the found CGUs in parallel.
639+
let start_time = Instant::now();
640+
641+
let pre_compiled_cgus = par_iter(cgus)
642+
.map(|(i, _)| {
643+
let module = backend.compile_codegen_unit(tcx, codegen_units[i].name());
644+
(i, module)
645+
})
646+
.collect();
647+
648+
(pre_compiled_cgus, start_time.elapsed())
649+
})
651650
};
652651

652+
#[cfg(not(parallel_compiler))]
653+
let pre_compile_cgus = |_: &[CguReuse]| (FxHashMap::default(), Duration::new(0, 0));
654+
653655
let mut cgu_reuse = Vec::new();
654656
let mut pre_compiled_cgus: Option<FxHashMap<usize, _>> = None;
655657
let mut total_codegen_time = Duration::new(0, 0);

0 commit comments

Comments
 (0)