Urgau
0691c06d94
Partial Revert: "Auto merge of #117018 - Kobzol:opt-dist-cargo-stage0"
2023-10-23 16:10:52 +02:00
bors
913ceaee96
Auto merge of #117062 - Kobzol:update-rustc-perf, r=Mark-Simulacrum
...
Update rustc-perf version
Needed to unblock https://github.com/rust-lang/rust/pull/116033 .
The commit first needs to be uploaded to our mirrors.
r? `@Mark-Simulacrum`
2023-10-22 21:57:27 +00:00
Jakub Beránek
41dfebbd17
Update rustc-perf version
2023-10-22 20:04:20 +02:00
Jakub Beránek
823d72abde
Pass host triple when running tests in opt-dist
2023-10-22 12:58:35 +02:00
Jakub Beránek
a836fd65f9
Use beta cargo in opt-dist
...
Using the new cargo caused issues when a backwards-incompatible change was made to cargo.
2023-10-22 12:58:35 +02:00
klensy
83425967cb
opt-dist: disable unused features for tabled crate
2023-10-16 12:59:15 +03:00
Jakub Beránek
482a8204bc
Pass BOLT settings at the correct step
2023-10-11 22:40:04 +02:00
Jakub Beránek
9a0e90f7b4
Add --enable-bolt-settings bootstrap flag
2023-10-09 22:00:17 +02:00
Jakub Beránek
dd7c5a00cb
Optimize librustc_driver.so with BOLT
2023-10-09 21:55:00 +02:00
Jakub Beránek
209789ef4c
Add artifact size and step duration summaries from opt-dist to github job summary
2023-10-02 17:54:11 +02:00
bors
781ebbec8a
Auto merge of #115898 - onur-ozkan:config-change-tracking, r=Mark-Simulacrum
...
bootstrap major change detection implementation
The use of `changelog-seen` and `bootstrap/CHANGELOG.md` has not been functional in any way for many years. We often do major/breaking changes but never update the changelog file or the `changelog-seen`. This is an alternative method for tracking major or breaking changes and informing developers when such changes occur.
Example output when bootstrap detects a major change:

2023-10-02 07:41:52 +00:00
onur-ozkan
957de61594
implement major change tracking for the bootstrap configuration
...
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-10-01 16:54:52 +03:00
Jakub Beránek
ee451f8fac
Fix build on Windows
2023-09-18 13:45:42 +02:00
Jakub Beránek
f13b54546b
Resolve clippy warnings
2023-09-13 18:12:41 +02:00
Jakub Beránek
6c718b5b8a
Refactor rustc-perf building
2023-09-13 18:11:34 +02:00
Jakub Beránek
11f9283da9
Add a Local environment to opt-dist
...
This makes it easier to build a PGO/BOLT optimized `rustc` locally, outside of CI.
2023-09-12 19:33:41 +02:00
Jakub Beránek
a2ed508f54
Fix reset_directory function
...
Before it was not deleting non-empty directories.
2023-09-12 19:33:41 +02:00
Jakub Beránek
f17047bc90
Refactor Environment
2023-09-12 19:33:41 +02:00
Jakub Beránek
95500f4941
Make executable extension platform, rather than environment dependent
2023-09-12 18:07:31 +02:00
Jakub Beránek
074fb2c6b7
Store target triple in environment
2023-09-12 18:02:45 +02:00
Jakub Beránek
c98455fe87
Retry download of rustc-perf in opt-dist
...
This should help resolving spurious network errors. It also increases the timeout for the archive download.
2023-09-04 22:17:35 +02:00
Mark Rousskov
fe6c863f0b
Mirror the rustc-perf source
...
This avoids issues with the GitHub /archive/ links which can be somewhat
unreliable and are currently causing CI issues.
2023-09-04 13:21:05 -04:00
bors
abc910be6f
Auto merge of #114001 - meysam81:issue-111894-fix, r=clubby789
...
fix(bootstrap): rename exclude flag to skip 🐛
fixes #111894
2023-08-10 04:36:51 +00:00
Jakub Beránek
6b4ec09cab
Remove usage of --use-old-text for BOLT
2023-08-09 09:33:42 +02:00
Jakub Beránek
65e468f9c2
Rename method in opt-dist
...
This makes it clearer that the LLVM is the host one (it doesn't necessarily have to be downloaded).
2023-08-07 23:10:57 +02:00
Meysam Azad
0b16456efa
fix(bootstrap): rename exclude flag to skip 🐛
2023-08-06 14:29:36 +07:00
Jakub Beránek
acb617c060
Generalize duration analysis
...
Use the correct `llvm-profdata` binary in `opt-dist`
2023-08-02 08:23:45 +02:00
Matthias Krüger
756da76814
Rollup merge of #113804 - Kobzol:opt-dist-version, r=Mark-Simulacrum
...
Resolve correct archive version name in `opt-dist`
Should resolve the master part of https://github.com/rust-lang/rust/issues/113784 .
r? `@Mark-Simulacrum`
2023-07-31 22:51:13 +02:00
Jakub Beránek
142995f15f
Pass BOLT profile to bootstrap to be included in the reproducible artifacts archive
2023-07-31 08:54:47 +02:00
Jakub Beránek
a16925d5f3
Implement BOLT optimization in the opt-dist tool
2023-07-31 08:52:41 +02:00
bors
0be1152311
Auto merge of #113779 - Kobzol:try-build-no-lto, r=Mark-Simulacrum
...
Build the first LLVM without LTO in try builds
Currently, we perform three LLVM builds in the Linux x64 dist builder, which is used for `try` builds:
1) "Normal" LLVM - takes ~5s to compile thanks to `sccache`, but ~8 minutes to link because of ThinLTO
2) PGO instrumented LLVM - same timings as 1)
3) PGO optimized LLVM - takes about 20 minutes to build
When I tried to disable LTO for build 1), it suddenly takes only about a minute to build, because the linking step is much faster. The first LLVM doesn't really need LTO all that much. Without it, it will be a bit slower to build `rustc` in two subsequent steps, but it seems that the ~7 minutes saved on linking it do win that back.
Btw, we can't use the host LLVM for build 1), because this LLVM then builds `rustc` in PGO instrumented mode, and we need the same compiler when later PGO optimizing `rustc`. And we want to use our in-house LLVM for that I think.
2023-07-27 19:35:19 +00:00
Jakub Beránek
9c373e3e5b
Try to build LLVM without LTO
2023-07-18 08:45:19 +02:00
Jakub Beránek
50d117ee7d
Resolve correct archive version name in opt-dist
2023-07-17 21:24:43 +02:00
Jakub Beránek
e04b915a1d
Use log groups in opt-dist
...
Some of the output was quite verbose in CI logs, this should help with that.
2023-07-16 10:36:13 +02:00
Jakub Beránek
18305eae8e
Print artifact sizes in opt-dist
2023-07-14 16:07:24 +02:00
Jakub Beránek
91d2fb2e2b
Port PGO/LTO/BOLT optimized build pipeline to Rust
2023-07-09 08:39:50 +02:00