From 79723a3e304bb74e3c5280b504603c764dc574e1 Mon Sep 17 00:00:00 2001 From: Daniel Micay <danielmicay@gmail.com> Date: Tue, 28 Oct 2014 20:09:24 -0400 Subject: [PATCH] Revert "enable parallel codegen by default" This reverts commit c245c5bbad10923b47c9f66d5f0da2913ef11a38. Parallel code generation generates invalid code for librand, which is caught by recent versions of binutils. --- mk/main.mk | 7 ------- mk/tests.mk | 4 ---- src/librustc/driver/config.rs | 15 +-------------- 3 files changed, 1 insertion(+), 25 deletions(-) diff --git a/mk/main.mk b/mk/main.mk index e927f6ad468..cd08228978e 100644 --- a/mk/main.mk +++ b/mk/main.mk @@ -157,13 +157,6 @@ RUSTFLAGS_STAGE1 += -C prefer-dynamic # by not emitting them. RUSTFLAGS_STAGE0 += -Z no-landing-pads -# Go fast for stage0, and also for stage1/stage2 if optimization is off. -RUSTFLAGS_STAGE0 += -C codegen-units=4 -ifdef CFG_DISABLE_OPTIMIZE - RUSTFLAGS_STAGE1 += -C codegen-units=4 - RUSTFLAGS_STAGE2 += -C codegen-units=4 -endif - # platform-specific auto-configuration include $(CFG_SRC_DIR)mk/platform.mk diff --git a/mk/tests.mk b/mk/tests.mk index 3bbd871e5be..45b618cb758 100644 --- a/mk/tests.mk +++ b/mk/tests.mk @@ -633,10 +633,6 @@ CTEST_RUSTC_FLAGS := $$(subst -O,,$$(CTEST_RUSTC_FLAGS)) ifndef CFG_DISABLE_OPTIMIZE_TESTS CTEST_RUSTC_FLAGS += -O endif -# Force codegen-units=1 for compiletest tests. compiletest does its own -# parallelization internally, so rustc's default codegen-units=2 will actually -# slow things down. -CTEST_RUSTC_FLAGS += -C codegen-units=1 CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) := \ diff --git a/src/librustc/driver/config.rs b/src/librustc/driver/config.rs index d6798d59ecb..1f44808275f 100644 --- a/src/librustc/driver/config.rs +++ b/src/librustc/driver/config.rs @@ -780,20 +780,7 @@ pub fn build_session_options(matches: &getopts::Matches) -> Options { early_warn("the --crate-file-name argument has been renamed to \ --print-file-name"); } - - let mut cg = build_codegen_options(matches); - - if cg.codegen_units == 0 { - match opt_level { - // `-C lto` doesn't work with multiple codegen units. - _ if cg.lto => cg.codegen_units = 1, - - No | Less => cg.codegen_units = 2, - Default | Aggressive => cg.codegen_units = 1, - } - } - let cg = cg; - + let cg = build_codegen_options(matches); if !cg.remark.is_empty() && debuginfo == NoDebugInfo { early_warn("-C remark will not show source locations without --debuginfo");