diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2018-12-17 21:10:59 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2019-01-02 11:33:38 -0800 |
| commit | ea7fef1ccf4b44effbc3bbc902f9b0b9dbd251a4 (patch) | |
| tree | 44748ddc1ac03ae5ade8faee09eeb26bc6d2704e /src/bootstrap/tool.rs | |
| parent | a36b960df626cbb8bea74f01243318b73f0bd201 (diff) | |
| download | rust-ea7fef1ccf4b44effbc3bbc902f9b0b9dbd251a4.tar.gz rust-ea7fef1ccf4b44effbc3bbc902f9b0b9dbd251a4.zip | |
bootstrap: Link LLVM as a dylib with ThinLTO
When building a distributed compiler on Linux where we use ThinLTO to create the LLVM shared object this commit switches the compiler to dynamically linking that LLVM artifact instead of statically linking to LLVM. The primary goal here is to reduce CI compile times, avoiding two+ ThinLTO builds of all of LLVM. By linking dynamically to LLVM we'll reuse the one ThinLTO step done by LLVM's build itself. Lots of discussion about this change can be found [here] and down. A perf run will show whether this is worth it or not! [here]: https://github.com/rust-lang/rust/pull/53245#issuecomment-417015334
Diffstat (limited to 'src/bootstrap/tool.rs')
| -rw-r--r-- | src/bootstrap/tool.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs index 7782351a552..d31ea0f8458 100644 --- a/src/bootstrap/tool.rs +++ b/src/bootstrap/tool.rs @@ -77,7 +77,7 @@ impl Step for ToolBuild { let _folder = builder.fold_output(|| format!("stage{}-{}", compiler.stage, tool)); builder.info(&format!("Building stage{} tool {} ({})", compiler.stage, tool, target)); let mut duplicates = Vec::new(); - let is_expected = compile::stream_cargo(builder, &mut cargo, vec![], &mut |msg| { + let is_expected = compile::stream_cargo(builder, &mut cargo, &mut |msg| { // Only care about big things like the RLS/Cargo for now match tool { | "rls" |
