Skip to content
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 9 pull requests #138791

Merged
merged 29 commits into from
Mar 21, 2025
Merged

Rollup of 9 pull requests #138791

merged 29 commits into from
Mar 21, 2025

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

folkertdev and others added 29 commits March 16, 2025 22:07
Update compiler/rustc_error_codes/src/error_codes/E0622.md

Co-authored-by: Ralf Jung <[email protected]>

reverted chages on E0622.md

updated E0622.md
It only ever returned `Some`, so `Option` was useless in its return type.
It was ignoring files without extension.
Previously it was simply ignored.
Some tests expect to be compiled for a specific CPU or require certain
target features to be present (or absent). These tests work fine with
default CPUs but fail in downstream builds for RHEL and Fedora, where
we use non-default CPUs such as z13 on s390x, pwr9 on ppc64le, or
x86-64-v2/x86-64-v3 on x86_64.
I'm not entirely sure this is correct, but it doesn't feel
obviously-wrong so I figured I'd just start by sending a PR rather than
filing a bug and letting it linger.

@rustbot label llvm-main
ports the compiler test cases to new rust_intrinsic format

pr is part of rust-lang#132735
…eature-gate, r=Amanieu

add `naked_functions_target_feature` unstable feature

tracking issue: rust-lang#138568

tagging rust-lang#134213 rust-lang#90957

This PR puts `#[target_feature(/* ... */)]` on `#[naked]` functions behind its own feature gate, so that naked functions can be stabilized. It turns out that supporting `target_feature` on naked functions is tricky on some targets, so we're splitting it out to not block stabilization of naked functions themselves. See the tracking issue for more information and workarounds.

Note that at the time of writing, the `target_features` attribute is ignored when generating code for naked functions.

r? ``@Amanieu``
… r=Kobzol

[bootstrap] Use llvm_runtimes for compiler-rt

Trying to enable `compiler-rt` via `LLVM_ENABLE_PROJECTS` is no longer a supported option in LLVM, and gives you nasty warnings:
```
Using LLVM_ENABLE_PROJECTS=compiler-rt is deprecated now, and will become a
  fatal error in the LLVM 21 release.  Please use
  -DLLVM_ENABLE_RUNTIMES=compiler-rt or see the instructions at
  https://compiler-rt.llvm.org/ for building the runtimes.
```

try-job: aarch64-gnu-debug
try-job: x86_64-gnu-debug
Autodiff cleanups

Splitting out some cleanups to reduce the size of my batching PR and simplify ``@haenoe`` 's [PR](rust-lang#138314).

r? ``@oli-obk``

Tracking:

- rust-lang#124509
…d, r=bjorn3

tests: accept some noise from LLVM 21 in symbols-all-mangled

I'm not entirely sure this is correct, but it doesn't feel obviously-wrong so I figured I'd just start by sending a PR rather than filing a bug and letting it linger.

``@rustbot`` label llvm-main
…=onur-ozkan

Improve bootstrap git modified path handling

Drive-by improvements extracted out of rust-lang#138591.

r? ``@onur-ozkan``
Update GCC submodule

Includes rust-lang/gcc#66 to use our mirrors for downloading GCC dependencies.

r? ```@GuillaumeGomez```
…pkin

Add an attribute that makes the spans from a macro edition 2021, and fix pin on edition 2024 with it

Fixes a regression, see issue below. This is a temporary fix, super let is the real solution.

Closes rust-lang#138596
…ross35

Use explicit cpu in some asm and codegen tests.

Some tests expect to be compiled for a specific CPU or require certain target features to be present (or absent). These tests work fine with default CPUs but fail in downstream builds for RHEL and Fedora, where we use non-default CPUs such as z13 on s390x, pwr9 on ppc64le, or x86-64-v2/x86-64-v3 on x86_64.

This is similar to rust-lang#124597.
@rustbot rustbot added the A-attributes Area: Attributes (`#[…]`, `#![…]`) label Mar 21, 2025
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Mar 21, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Mar 21, 2025

📌 Commit bc46c98 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 21, 2025
@bors
Copy link
Contributor

bors commented Mar 21, 2025

⌛ Testing commit bc46c98 with merge be73c1f...

@bors
Copy link
Contributor

bors commented Mar 21, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing be73c1f to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 21, 2025
@bors bors merged commit be73c1f into rust-lang:master Mar 21, 2025
7 checks passed
@rustbot rustbot added this to the 1.87.0 milestone Mar 21, 2025
Copy link

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 a4a11ac (parent) -> be73c1f (this PR)

Test differences

Show 6 test diffs
  • [ui] tests/ui/asm/naked-functions-target-feature.rs (stage 2): [missing] -> pass (J0)
  • [ui] tests/ui/asm/naked-functions-target-feature.rs (stage 1): [missing] -> pass (J1)
  • [ui] tests/ui/feature-gates/feature-gate-naked_functions_target_feature.rs (stage 1): [missing] -> pass (J1)
  • [ui] tests/ui/feature-gates/feature-gate-naked_functions_target_feature.rs (stage 2): [missing] -> pass (J2)
  • [ui] tests/ui/feature-gates/feature-gate-naked_functions_target_feature.rs (stage 2): [missing] -> ignore (only executed when the architecture is x86_64) (J3)
  • pin::temp_lifetime (stage 1): [missing] -> pass (J4)

Job group index

  • J0: aarch64-apple, aarch64-gnu, arm-android, armhf-gnu, dist-i586-gnu-i586-i686-musl, i686-gnu-1, i686-gnu-nopt-1, i686-msvc-1, test-various, x86_64-apple-2, x86_64-gnu, x86_64-gnu-llvm-18-1, x86_64-gnu-llvm-18-2, x86_64-gnu-llvm-19-1, x86_64-gnu-llvm-19-2, x86_64-gnu-nopt, x86_64-gnu-stable, x86_64-mingw-1, x86_64-msvc-1
  • J1: x86_64-gnu-llvm-18-3, x86_64-gnu-llvm-19-3
  • J2: test-various, x86_64-apple-2, x86_64-gnu, x86_64-gnu-llvm-18-1, x86_64-gnu-llvm-19-1, x86_64-gnu-nopt, x86_64-gnu-stable, x86_64-mingw-1, x86_64-msvc-1
  • J3: aarch64-apple, aarch64-gnu, arm-android, armhf-gnu, dist-i586-gnu-i586-i686-musl, i686-gnu-1, i686-gnu-nopt-1, i686-msvc-1, x86_64-gnu-llvm-18-2, x86_64-gnu-llvm-19-2
  • J4: aarch64-apple, aarch64-gnu, arm-android, armhf-gnu, dist-i586-gnu-i586-i686-musl, i686-gnu-1, i686-gnu-nopt-1, i686-msvc-1, test-various, x86_64-apple-1, x86_64-gnu, x86_64-gnu-aux, x86_64-gnu-llvm-18-1, x86_64-gnu-llvm-18-2, x86_64-gnu-llvm-18-3, x86_64-gnu-llvm-19-1, x86_64-gnu-llvm-19-2, x86_64-gnu-llvm-19-3, x86_64-gnu-nopt, x86_64-gnu-stable, x86_64-mingw-1, x86_64-msvc-1

@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#138364 ports the compiler test cases to new rust_intrinsic format 929dd76fa927d01a9e15b0b3a933605ae0d8d81e (link)
#138570 add naked_functions_target_feature unstable feature 9f5407499bf9db345e998fd7d5f3e41257821676 (link)
#138623 [bootstrap] Use llvm_runtimes for compiler-rt d0bc35dda15cf885d424dc9b92159cea8f72700e (link)
#138627 Autodiff cleanups c43bc283b1f5ee5aa3d1cc093fd62bef2306dc5d (link)
#138669 tests: accept some noise from LLVM 21 in symbols-all-mangled b351d88b175192a94ad2f65c68db8df17c53b7a2 (link)
#138706 Improve bootstrap git modified path handling 77a4b86566c7fc38d6621626e7a6b76b70d5178e (link)
#138709 Update GCC submodule b3fcdee913267e0811dc9ac6c221a8d5c14983a6 (link)
#138717 Add an attribute that makes the spans from a macro edition … 8640443816b3b4479fa10728b28b44cdca1f2d0a (link)
#138721 Use explicit cpu in some asm and codegen tests. 53d9fe0fd1d2d3a6b574a9d67d7017f1bc816ff3 (link)

previous master: a4a11aca5e

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (be73c1f): comparison URL.

Overall result: ❌✅ regressions and improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.6% [1.6%, 1.6%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.3% [-0.4%, -0.2%] 3
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (secondary -3.5%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.5% [-4.1%, -2.6%] 3
All ❌✅ (primary) - - 0

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 775.351s -> 775.146s (-0.03%)
Artifact size: 365.55 MiB -> 365.54 MiB (-0.00%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) A-compiletest Area: The compiletest test runner A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.