-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Rollup of 15 pull requests #146468
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 15 pull requests #146468
Conversation
This fixes ``` error: unused import: `str` --> library/std/src/sys/pal/hermit/os.rs:6:22 | 6 | use crate::{fmt, io, str}; | ^^^ | = note: `-D unused-imports` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(unused_imports)]` ``` This was caused by 845311a.
Signed-off-by: Connor Tsui <[email protected]>
Co-authored-by: Ralf Jung <[email protected]>
These "you are using $RUSTC_VERSION" help messages were removed in rust-lang#142943, but rust-lang#142681 started before that and merged later, so its normalization is vestigial.
match clang's `va_arg` assembly on arm targets tracking issue: rust-lang#44930 For this example ```rust #![feature(c_variadic)] #[unsafe(no_mangle)] unsafe extern "C" fn variadic(a: f64, mut args: ...) -> f64 { let b = args.arg::<f64>(); let c = args.arg::<f64>(); a + b + c } ``` We currently generate (via llvm): ```asm variadic: sub sp, sp, rust-lang#12 stmib sp, {r2, r3} vmov d0, r0, r1 add r0, sp, rust-lang#4 vldr d1, [sp, rust-lang#4] add r0, r0, rust-lang#15 bic r0, r0, rust-lang#7 vadd.f64 d0, d0, d1 add r1, r0, rust-lang#8 str r1, [sp] vldr d1, [r0] vadd.f64 d0, d0, d1 vmov r0, r1, d0 add sp, sp, rust-lang#12 bx lr ``` LLVM is not doing a good job. In fact, it's well-known that LLVM's implementation of `va_arg` is kind of bad, and we implement it ourselves (based on clang) for many targets already. For arm, our own `emit_ptr_va_arg` saves 3 instructions. Next, it turns out it's important for LLVM to explicitly start and end the lifetime of the `va_list`. In rust-lang#146059 I already end the lifetime, but when looking at this again, I noticed that it is important to also start it, see https://godbolt.org/z/EGqvKTTsK: failing to explicitly start the lifetime uses an extra register. So, the combination of `emit_ptr_va_arg` with starting/ending the lifetime makes rustc emit exactly the instructions that clang generates:: ```asm variadic: sub sp, sp, rust-lang#12 stmib sp, {r2, r3} vmov d16, r0, r1 vldr d17, [sp, rust-lang#4] vadd.f64 d16, d16, d17 vldr d17, [sp, rust-lang#12] vadd.f64 d16, d16, d17 vmov r0, r1, d16 add sp, sp, rust-lang#12 bx lr ``` The arguments to `emit_ptr_va_arg` are based on [the clang implementation](https://github.com/llvm/llvm-project/blob/03dc2a41f3d9a500e47b513de5c5008c06860d65/clang/lib/CodeGen/Targets/ARM.cpp#L798-L844). r? ``@workingjubilee`` (I can re-roll if your queue is too full, but you do seem like the right person here) try-job: armhf-gnu
thread parking: fix docs and examples Fixes rust-lang#145816 r? ```@joboet``` Cc ```@m-ou-se``` ```@Amanieu```
…=jackh726 support integer literals in `${concat()}` Tracking issue: rust-lang#124225 Adds support for using integer literals as arguments to `${concat()}` macro expressions. Integer formatting such as `1_000` is preserved by this.
rwlock tests: fix miri macos test regression rust-lang#144648 broke the attributes that ignore the tests on Miri; this patch should fix that.
…r=GuillaumeGomez Change the default value of `gcc.download-ci-gcc` to `true` It makes sense for the vast majority of uses (rust-lang/rustc-dev-guide#2587 (comment)). r? ```@GuillaumeGomez```
…r=RalfJung fix cfg for poison test macro Fixes test regression in rust-lang#144648 Continuation of rust-lang#146433 I think this is right? Not really sure how to test this myself to be honest. r? ```@RalfJung``` I'll also leave the improvement to the test macro for a separate PR (described [here](rust-lang#146433 (comment))) since I've never done something like that before. Though since this fixes all of the tests, it might not be necessary since anyone in the future will see the `cfg()` and not `cfg_attr()`?
…paths, r=lolbinarycat [rustdoc] Correctly handle literal search on paths Fixes rust-lang#146129. cc ```@notriddle``` r? ```@lolbinarycat```
…eGomez Fix `libgccjit` symlink when we build GCC locally Unblocks rust-lang#146414. r? ```@GuillaumeGomez```
test: remove an outdated normalization for rustc versions These "you are using $RUSTC_VERSION" help messages were removed in rust-lang#142943, but rust-lang#142681 started before that and merged later, so its normalization is vestigial.
☀️ Test successful - checks-actions |
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 ac4495a (parent) -> 408eacf (this PR) Test differencesShow 72 test diffsStage 1
Stage 2
Additionally, 64 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 408eacfb95ea19e248c0fe5e377980bc00682c1b --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 |
📌 Perf builds for each rolled up PR:
previous master: ac4495a10d In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (408eacf): comparison URL. Overall result: ❌✅ regressions and improvements - 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 (secondary 0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 4.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (secondary -0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 465.228s -> 468.519s (0.71%) |
Successful merges:
va_arg
assembly on arm targets #144549 (match clang'sva_arg
assembly on arm targets)${concat()}
#146308 (support integer literals in${concat()}
)browser-ui-test
version to0.22.2
#146374 (Updatebrowser-ui-test
version to0.22.2
)Socket::take_error
for Hermit #146432 (ImplementSocket::take_error
for Hermit)gcc.download-ci-gcc
totrue
#146435 (Change the default value ofgcc.download-ci-gcc
totrue
)libgccjit
symlink when we build GCC locally #146449 (Fixlibgccjit
symlink when we build GCC locally)r? @ghost
@rustbot modify labels: rollup
Create a similar rollup