Skip to content

Conversation

@JonathanBrouwer
Copy link
Contributor

@JonathanBrouwer JonathanBrouwer commented Jan 28, 2026

Successful merges:

r? @ghost

Create a similar rollup

eduardosm and others added 30 commits January 7, 2026 17:58
This option was used to gate `f16` and `f128` when support across
backends and targets was inconsistent. We now have the rustc builtin cfg
`target_has_reliable{f16,f128}` which has taken over this usecase.
Remove no-f16-f128 since it is now unused and redundant.
This simplifies the `PlaceholderReachability` `enum` by
replacing the case when no placeholders were reached with
a standard `Option::None`.

It also rewrites the API for `scc::Annotations` to be update-mut
rather than a more Functional programming style. This showed some slight
performance impact in early tests of the PR and definitely makes
the implementation simpler.
Avoid `unsafe fn` in remaining x86 tests
…tation

Adds documentation for `stdarch-gen-arm`
- Adds vluti2 intrinsics
- Adds famin/famax intrinsics
- Adds vstl1(q) intrinsics
- Adds vldap1(q) intrinsics
	- Excludes vldap1_lane_f64 as in testing it fails assert_intr. There seems to be some bad IR gen from rust.
- Adds vscale(q) intrinsics
- Adds new intrinsics to arm_intrinsics.json
	- Had to be done manually as intrinsics are not yet on developer.arm.com
Moves the relevant defintions from the aarch64 yaml to the arm_shared.
The opcodes for these intructions are not recognised by the dissasembler on the windows msvc toolchain.
As such they are not translated to the relevant mneumonic and the `assert_instr` test fails.
Please see [failing test](https://github.com/rust-lang/stdarch/actions/runs/20992978794/job/60342796821?pr=1994#logs).
…sing-intrinsics

Adds missing neon intrinsics
This makes cdylibs compile to working Emscripten dynamic libraries without passing extra
RUSTFLAGS. This was previously approved as PR 98358 but there were CI failures that I
never got around to fixing.
remove fp16 target feature from some vreinterpret intrinsics
resolve: Mark items under exported ambiguous imports as exported

After rust-lang#147984 one of the imports in an ambiguous import set becomes accessible under a deny-by-default deprecation lint.

So if it points to something, that something needs to be marked as exported, so its MIR is encoded into metadata, its symbol is not lost from object files, etc.
The added test shows an example.
This fixes around 10-20 crater regressions found in rust-lang#149195 (comment).

Unblocks rust-lang#149195.
Do not suggest `derive` if there is already an impl

This PR fixes an issue where the compiler would suggest adding `#[derive(Trait)]` even if the struct or enum already implements that trait manually.

Fixes [rust-lang#146515](rust-lang#146515)
…nieu

compiler-builtins: Remove the no-f16-f128 feature

This option was used to gate `f16` and `f128` when support across backends and targets was inconsistent. We now have the rustc builtin cfg `target_has_reliable{f16,f128}` which has taken over this usecase. Remove no-f16-f128 since it is now unused and redundant.
…bank

[RFC] rustc_parse: improve the error diagnostic for "missing let in let chain"
…t, r=tgross35

Bump `std`'s `backtrace`'s `rustc-demangle`

Alternative to rust-lang#151659.

Fixes rust-lang#151548.
…te, r=lcnr

Borrowck: Simplify SCC annotation computation, placeholder rewriting

This change backports some changes from the now abandoned rust-lang#142623.

Notably, it simplifies the `PlaceholderReachability` `enum` by replacing the case when no placeholders were reached with a standard `Option::None`.

It also rewrites the API for `scc::Annotations` to be update-mut rather than a more Functional programming style. This showed some slight performance impact in early tests of the PR and definitely makes the implementation simpler.

This probably wants a perf run just for good measure.

r? @lcnr
Remove Fuchsia from target OS list in unix.rs for sleep

Fuchsia doesn't support clock_nanosleep so default back to using nanosleep
…boet

fix undefined behavior in VecDeque::splice

closes rust-lang#151758
…-151411, r=lolbinarycat

[rustdoc] Add regression test for rust-lang#151411

Fixes rust-lang#151411.

Seems like the ICE was already solved by rust-lang#151255. Well in any case, more regression tests won't hurt.

r? @lolbinarycat
… r=oli-obk

clean up checks for constant promotion of integer division/remainder operations

I found the old logic with matches on `Option`s returned by other matches to be kind of complicated, so I rewrote it with `let` chains. There should be no change in behavior.
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Jan 28, 2026
@rustbot rustbot added A-compiler-builtins Area: compiler-builtins (https://github.com/rust-lang/compiler-builtins) A-rustdoc-json Area: Rustdoc JSON backend S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Jan 28, 2026
@JonathanBrouwer
Copy link
Contributor Author

@bors r+ rollup=never p=5

@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 28, 2026

📌 Commit aeba7d5 has been approved by JonathanBrouwer

It is now in the queue for this repository.

@rust-bors rust-bors bot 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 Jan 28, 2026
@rust-bors

This comment has been minimized.

@rust-bors rust-bors bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jan 29, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 29, 2026

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 16m 26s
Pushing ba284f4 to main...

@rust-bors rust-bors bot merged commit ba284f4 into rust-lang:main Jan 29, 2026
12 checks passed
@rustbot rustbot added this to the 1.95.0 milestone Jan 29, 2026
@github-actions
Copy link
Contributor

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 de6d33c (parent) -> ba284f4 (this PR)

Test differences

Show 32 test diffs

Stage 1

  • [ui] tests/ui/imports/ambiguous-reachable.rs: [missing] -> pass (J1)
  • [ui] tests/ui/missing/missing-let.rs: [missing] -> pass (J1)
  • [ui] tests/ui/suggestions/derive-clone-already-present-issue-146515.rs: [missing] -> pass (J1)
  • vec_deque::test_splice_wrapping: [missing] -> pass (J3)

Stage 2

  • [ui] tests/ui/imports/ambiguous-reachable.rs: [missing] -> pass (J0)
  • [ui] tests/ui/missing/missing-let.rs: [missing] -> pass (J0)
  • [ui] tests/ui/suggestions/derive-clone-already-present-issue-146515.rs: [missing] -> pass (J0)
  • vec_deque::test_splice_wrapping: [missing] -> pass (J2)

Additionally, 24 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard ba284f468cd2cda48420251efc991758ec13d450 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. pr-check-2: 3198.9s -> 2478.0s (-22.5%)
  2. dist-armv7-linux: 6534.2s -> 5168.9s (-20.9%)
  3. aarch64-gnu: 7485.5s -> 8315.4s (+11.1%)
  4. dist-x86_64-musl: 7530.5s -> 8310.4s (+10.4%)
  5. aarch64-msvc-1: 6862.6s -> 7468.0s (+8.8%)
  6. pr-check-1: 2000.1s -> 1825.0s (-8.8%)
  7. x86_64-gnu-debug: 6797.5s -> 7377.9s (+8.5%)
  8. dist-riscv64-linux: 5358.5s -> 4909.1s (-8.4%)
  9. x86_64-mingw-1: 9644.0s -> 10383.8s (+7.7%)
  10. tidy: 152.3s -> 164.0s (+7.7%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (ba284f4): comparison URL.

Overall result: ❌ regressions - please read the text below

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

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

Max RSS (memory usage)

Results (primary 2.4%, secondary -5.7%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
7.2% [7.2%, 7.2%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.5% [-2.5%, -2.5%] 1
Improvements ✅
(secondary)
-5.7% [-5.7%, -5.7%] 1
All ❌✅ (primary) 2.4% [-2.5%, 7.2%] 2

Cycles

Results (secondary 2.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.2% [2.2%, 2.2%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

Results (primary 0.0%, secondary 0.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.0% [0.0%, 0.0%] 4
Regressions ❌
(secondary)
0.0% [0.0%, 0.0%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.0% [0.0%, 0.0%] 4

Bootstrap: 474.844s -> 475.861s (0.21%)
Artifact size: 397.84 MiB -> 397.83 MiB (-0.00%)

@rustbot rustbot added the perf-regression Performance regression. label Jan 29, 2026
@JonathanBrouwer
Copy link
Contributor Author

Looks like noise.
@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Jan 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-compiler-builtins Area: compiler-builtins (https://github.com/rust-lang/compiler-builtins) A-rustdoc-json Area: Rustdoc JSON backend merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. rollup A PR which is a rollup 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.