Rollup of 6 pull requests#157948
Conversation
This allows codegen to prune the unnecessary side of the `if` for each pointer type during monomorphization. LLVM optimizations can clean it up too, but it's better to not emit unnecessary code in the first place.
…athanBrouwer Introduce `-Z lint-rust-version` Implements rust-lang/compiler-team#950 by adding the unstable flag and updating the lint machinery to accept an MSRV. Copies most of the approach from rust-lang#149870 Tracking issue: rust-lang#157574
rustc_public: make sure hidden fields have their accessors Per [the discussion](https://rust-lang.zulipchat.com/#narrow/channel/320896-project-rustc-public/topic/Do.20we.20want.20DefId.20to.20be.20publicly.20visible.20in.20our.20def.20wrappers.3F/with/600656013), we should make sure hidden fields have their corresponding accessors.
…ikic test `carryless_mul` codegen tracking issue: rust-lang#152080 Test the codegen of `carryless_mul` with LLVM 23, which has custom lowerings for x86_64, aarch64 and riscv64. - Rust to LLVM IR: https://godbolt.org/z/sM914e4fo - LLVM IR to assembly: https://godbolt.org/z/5Y7naa4cY You can also see that the default expansion (when there is no special intruction available) is quite large still... - manual https://godbolt.org/z/hbEe3WMdW (based on rust-lang#152132 (comment)) - LLVM https://godbolt.org/z/577Wb9E99 So LLVM default over 3X the number of instructions for the 64-bit and 128-bit case.
…fallback, r=clubby789 bootstrap: fix inverted success check in PowerShell download fallback When curl fails on Windows and bootstrap falls back to PowerShell for downloads, the success/failure check is inverted: the code returns early on failure (`is_failure()`) and prints "spurious failure, trying again" on success, then exits with code 1 after three successful downloads. This was introduced in rust-lang#141909 during the `ExecutionContext` refactoring. The original code used `self.try_run(...)` which returned `bool` (true = success). The refactoring changed the return type to `CommandOutput` but used `is_failure()` for the early-return check, inverting the logic. The fix changes the check from `is_failure()` to `is_success()`, restoring the original behavior: return early when the download succeeds, retry when it fails.
…n, r=Darksonn Use constant for detecting thin pointer formatting This allows codegen to prune the unnecessary side of the `if` for each pointer type during monomorphization. In release builds, LLVM can clean it up, but it's better to not emit unnecessary code in the first place.
update AttributeTemplate docs r? @JonathanBrouwer
|
@bors r+ rollup=never p=5 |
This comment has been minimized.
This comment has been minimized.
|
📌 Perf builds for each rolled up PR:
previous master: 01dfd79246 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 01dfd79 (parent) -> 9d862dd (this PR) Test differencesShow 42 test diffsStage 1
Stage 2
Additionally, 30 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 9d862dd2c17b2dc90e9f623bb9279a8c4090b311 --output-dir test-dashboardAnd 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 (9d862dd): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -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. CyclesResults (secondary -30.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 519.231s -> 519.36s (0.02%) |
Successful merges:
-Z lint-rust-version#157707 (Introduce-Z lint-rust-version)carryless_mulcodegen #157831 (testcarryless_mulcodegen)r? @ghost
Create a similar rollup