chore: bump to cc@1.4.3 for rustc_llvm and library - #161260
Conversation
Old cc-rs derives this from the `-Clto` rustflag on its own. `cc@1.2.39` starts gating that behind `-Clinker-plugin-lto`, which bootstrap doesn't pass. Therefore, we need to pass this flag explicitly to keep LTO mode
Also pulls in * find-msvc-tools 0.1.5 -> 0.1.11 * shlex 2.0.1 (new transitive dep of cc)
Also pulls in * find-msvc-tools 0.1.5 -> 0.1.11 * shlex 1.3.0 -> 2.0.1
|
|
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
chore: bump to cc@1.4.3 for rustc_llvm and library
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (7256718): comparison URL. Overall result: no relevant changes - no action neededBenchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up. @rustbot label: -S-waiting-on-perf -perf-regression Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)This perf run didn't have relevant results for this metric. CyclesThis perf run didn't have relevant results for this metric. Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 468.493s -> 459.635s (-1.89%) |
|
@Kobzol od you know why there is no result? I guess because GitHub was down? |
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
chore: bump to cc@1.4.3 for rustc_llvm and library
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (52a6c34): comparison URL. Overall result: no relevant changes - no action neededBenchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up. @rustbot label: -S-waiting-on-perf -perf-regression Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)Results (secondary 1.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesThis perf run didn't have relevant results for this metric. Binary sizeResults (primary 0.1%, secondary 0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 457.751s -> 457.734s (-0.00%) |
|
Ah. I see. No relevant largely means insignificant. Then I think this is ready. @rustbot ready |
|
These commits modify the If this was unintentional then you should revert the changes before this PR is merged. The list of allowed third-party dependencies may have been modified! You must ensure that any new dependencies have compatible licenses before merging. cc @davidtwco, @BoxyUwU These commits modify the If this was unintentional then you should revert the changes before this PR is merged. |
| // Compiler's C deps, like jemalloc and llvm-wrapper, should be | ||
| // with the same LTO mode as the Rust code they are linked into. | ||
| // FIXME: should we apply LTO to tools and other modes? | ||
| let lto_cflag = if self.mode == Mode::Rustc |
There was a problem hiding this comment.
I think that we should do this for all C/C++ deps, not just compiler ones, so you can remove the mode check.
|
Since we already gate this on Clang, I suppose that it should universally support the LTO flag (?), so let's try to do it unconditionally first. |
What is this?
Old cc-rs derives this from the
-Cltorustflag on its own.cc@1.2.39starts gating that behind-Clinker-plugin-lto,which bootstrap doesn't pass.
Therefore,
we need to pass this flag explicitly to keep LTO mode
Previous efforts:
I personally want this because of cc 1.3.0+ has the support of Cargo
-Ztrim-paths,which helps what I am experimenting in #161049.
How to review
Commit by commit.
To keep commits bisect-able,
I added the first commit without cc bump.
clang should be fine with duplicate
-fltoflags.One thing I am not certain is whether we should probe
-fltoflag in this case,or just make this fail if
-fltoisn't supported.(I assume
-fltois quote widely supported)r? Kobzol
🤖 LLM disclosure: I used LLM for the experiment of #161049, but not the bootstrap LTO change in this PR.