-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Rollup of 10 pull requests #143919
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 10 pull requests #143919
Conversation
Co-authored-by: Jakub Beránek <berykubik@gmail.com>
These seem like they were missed in <rust-lang#141224>
…zelmann Port #[link_ordinal] to the new attribute parsing infrastructure Ports link_ordinal to the new attribute parsing infrastructure for rust-lang#131229 (comment)
…r=Kobzol bootstrap/miri: avoid rebuilds for test builds When building Miri in its own repo, we always build with `--all-targets`: https://github.com/rust-lang/rust/blob/a00961269107703772c4e8f071f0accbe0f1a7e5/src/tools/miri/miri-script/src/util.rs#L167-L174 This saves a bunch of time since some of Miri's dependencies get more features enabled by some of Miri's dev-dependencies, and they all get built twice otherwise if you do `cargo build && cargo test` (which is typically what you end up doing inside `./miri test` and also inside `./x test miri`). This applies the same approach to bootstrap, drastically reducing the edit-compile cycle for Miri work here. :)
…r=Kobzol Change bootstrap's `tool.TOOL_NAME.features` to work on any subcommand This is a followup to rust-lang#142379 to make the bootstrap option `tool.TOOL_NAME.features` work on any subcommand instead of just build (so also run/test/...). I also made the `TOOL_NAME` comparisons look at the tool path instead of the tool name to determine to which tool a `TOOL_NAME` refers to, so you can specify tools by path like in other places of the bootstrap (e.g. `tool."tools/miri".features`).
…g, r=jieyouxu Compiletest: Simplify {Html,Json}DocCk directive handling So much more maintainable and extensible. r? ````@jieyouxu```` as discussed
…t, r=compiler-errors update issue number for `const_trait_impl` r? project-const-traits cc rust-lang#67792 rust-lang#143874
Use zero for initialized Once state By re-labeling which integer represents which internal state for `Once` we can ensure that the initialized state is the all-zero state. This is beneficial because some CPU architectures (such as Arm) have specialized instructions to specifically branch on non-zero, and checking for the initialized state is by far the most important operation. As an example, take this: ```rust use std::sync::atomic::{AtomicU32, Ordering}; const INIT: u32 = 3; #[inline(never)] #[cold] pub fn slow(state: &AtomicU32) { state.store(INIT, Ordering::Release); } pub fn ensure_init(state: &AtomicU32) { if state.load(Ordering::Acquire) != INIT { slow(state) } } ``` If `INIT` is 3 (as is currently the state for `Once`), we see the following assembly on `aarch64-apple-darwin`: ```asm example::ensure_init::h332061368366e313: ldapr w8, [x0] cmp w8, #3 b.ne LBB1_2 ret LBB1_2: b example::slow::ha042bd6a4f33724e ``` By changing the `INIT` state to zero we get the following: ```asm example::ensure_init::h332061368366e313: ldapr w8, [x0] cbnz w8, LBB1_2 ret LBB1_2: b example::slow::ha042bd6a4f33724e ``` So this PR saves 1 instruction every time a `LazyLock` gets accessed on platforms such as these.
…jieyouxu Run bootstrap tests sooner in the `x test` pipeline With the recently added bootstrap snapshot tests, and in general with our plans to test more things in bootstrap, I feel like the original comment isn't accurate anymore. Recently, on several occasions I had to wait for 40+ minutes of CI just to find out that the bootstrap snapshot tests have failed. I think we should run bootstrap tests towards the beginning instead now. r? ```@jieyouxu```
…-to-allocation, r=oli-obk Change "allocated object" to "allocation". These seem like they were missed in <rust-lang#141224>
Tier check cleanup clippy cleanup + edition 2024
@bors r+ rollup=never p=5 |
@rust-timer queue |
This comment has been minimized.
This comment has been minimized.
Oh shit that's the wrong pr, I'm so sorry. How do I cancel this? |
That's not really possible 😅 Interesting, I don't think we ever hit this edge case before. Let's see how rustc-perf deals with it :D |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR:
previous master: 64b185edda In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 64b185e (parent) -> cccf075 (this PR) Test differencesShow 44 test diffsStage 1
Stage 2
Additionally, 2 doctest diffs were found. These are ignored, as they are noisy. Job group index Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard cccf075eba88363269e8589ebb8d40874cc542d8 --output-dir test-dashboard And then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
Finished benchmarking commit (cccf075): comparison URL. Overall result: ❌ regressions - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -2.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeResults (primary 0.0%, secondary 0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 463.69s -> 463.324s (-0.08%) |
Successful merges:
tool.TOOL_NAME.features
to work on any subcommand #143733 (Change bootstrap'stool.TOOL_NAME.features
to work on any subcommand)const_trait_impl
#143875 (update issue number forconst_trait_impl
)x test
pipeline #143887 (Run bootstrap tests sooner in thex test
pipeline)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup