Skip to content

Rollup of 5 pull requests#152361

Merged
rust-bors[bot] merged 13 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-Qkwz1vN
Feb 9, 2026
Merged

Rollup of 5 pull requests#152361
rust-bors[bot] merged 13 commits intorust-lang:mainfrom
JonathanBrouwer:rollup-Qkwz1vN

Conversation

@JonathanBrouwer
Copy link
Contributor

Successful merges:

r? @ghost

Create a similar rollup

scottmcm and others added 13 commits January 17, 2026 17:14
Thanks to 107634 and some improvements in LLVM (particularly `dead_on_unwind`), the method actually optimizes reasonably well now.

So focus the discussion on the fundamental ordering differences where the optimizer might never be able to fix it because of the different behaviour, and encouraging `Iterator::map` where an array wasn't actually ever needed.
We were already setting `CARGO_TARGET_{target}_LINKER` when there is a
setting in `bootstrap.toml`, and when the host and target are the same,
this is also used for build scripts and proc-macros.

However, the host value wasn't set when building for any other target,
and Cargo would see that as a fingerprint change for those build
artifacts, rebuilding them.

If we always set the `CARGO_TARGET_{host}_LINKER`, then those build
scripts will keep a consistent Cargo fingerprint, so they'll remain
cached no matter how we're alternating targets.
* Stop having two different alignment constants
* Update library/core/src/alloc/global.rs
…rk-Simulacrum

add test for codegen of SIMD vector from array repeat

fixes rust-lang#97804

It appears that this issue was fixed silently in LLVM 19. The original codegen was terrible, but starting at LLVM 19 `opt` is able to generate good code.

https://llvm.godbolt.org/z/5vq8scP6q

cc @programmerjake
…ark-Simulacrum

bootstrap: always propagate `CARGO_TARGET_{host}_LINKER`

We were already setting `CARGO_TARGET_{target}_LINKER` when there is a
setting in `bootstrap.toml`, and when the host and target are the same,
this is also used for build scripts and proc-macros.

However, the host value wasn't set when building for any other target,
and Cargo would see that as a fingerprint change for those build
artifacts, rebuilding them.

If we always set the `CARGO_TARGET_{host}_LINKER`, then those build
scripts will keep a consistent Cargo fingerprint, so they'll remain
cached no matter how we're alternating targets.
…lacrum

Reword the caveats on `array::map`

Thanks to rust-lang#107634 and some improvements in LLVM (particularly [`dead_on_unwind`](https://llvm.org/docs/LangRef.html#parameter-attributes)), the method actually optimizes reasonably well now.

So focus the discussion on the fundamental ordering differences where the optimizer might never be able to fix it because of the different behaviour, and keep encouraging `Iterator::map` where an array wasn't actually ever needed.
…Mark-Simulacrum

Stop having two different alignment constants

Now that there's a `<T as SizedTypeProperties>::ALIGNMENT` constant, `Alignment::of` can use that instead of an inline constant, like how `Layout::new` uses the constant from `SizedTypeProperties`.
…-Simulacrum

Remove more adhoc groups that correspond to teams

Following in the footsteps of rust-lang#152310.

- [types](https://github.com/rust-lang/team/blob/main/teams/types.toml) team - removed Niko and lqd from team rotation in triagebot
- [project-const-traits](https://github.com/rust-lang/team/blob/main/teams/project-const-traits.toml) - no changes needed, whole team was already on rotation
- [project-stable-mir](https://github.com/rust-lang/team/blob/main/teams/project-stable-mir.toml) - no changes needed, whole team was already on rotation
- [project-exploit-mitigations](https://github.com/rust-lang/team/blob/main/teams/project-exploit-mitigations.toml) - removed 1c3t3a from team rotation in triagebot (TODO - it didn't work yet, need to fix triagebot to allow running commands on top of people that are only in project/working groups)
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Feb 8, 2026
@rustbot rustbot added A-meta Area: Issues & PRs about the rust-lang/rust repository itself 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. labels Feb 8, 2026
@JonathanBrouwer
Copy link
Contributor Author

@bors r+ rollup=never p=5

@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 8, 2026

📌 Commit b0c9c4b 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 Feb 8, 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 Feb 9, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 9, 2026

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 30m 1s
Pushing 1c316d3 to main...

@rust-bors rust-bors bot merged commit 1c316d3 into rust-lang:main Feb 9, 2026
12 checks passed
@rustbot rustbot added this to the 1.95.0 milestone Feb 9, 2026
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#126100 Reword the caveats on array::map fb2577d0b0bea5c317fa09dcc5e7bcca0dcb4273 (link)
#151869 add test for codegen of SIMD vector from array repeat 195cfd5b04704a404adf93cced87a78b5179bda4 (link)
#152077 bootstrap: always propagate CARGO_TARGET_{host}_LINKER 5e61681a855c56ae9572fc31ce7040fea38df6e1 (link)
#152275 Stop having two different alignment constants dd2ee24a3d8bc434e0398c09adf2630100d94d36 (link)
#152325 Remove more adhoc groups that correspond to teams 19fc9fdc841f8c9715eb92b3e2ce2453cbeef529 (link)

previous master: 6efa357bff

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

@github-actions
Copy link
Contributor

github-actions bot commented Feb 9, 2026

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 6efa357 (parent) -> 1c316d3 (this PR)

Test differences

Show 86 test diffs

Stage 1

  • [codegen] tests/codegen-llvm/simd/array-repeat.rs#AARCH64: [missing] -> pass (J0)
  • [codegen] tests/codegen-llvm/simd/array-repeat.rs#RISCV: [missing] -> pass (J0)
  • [codegen] tests/codegen-llvm/simd/array-repeat.rs#S390X: [missing] -> pass (J0)
  • [codegen] tests/codegen-llvm/simd/array-repeat.rs#X86: [missing] -> pass (J0)

Stage 2

  • [codegen] tests/codegen-llvm/simd/array-repeat.rs#AARCH64: [missing] -> pass (J1)
  • [codegen] tests/codegen-llvm/simd/array-repeat.rs#RISCV: [missing] -> pass (J1)
  • [codegen] tests/codegen-llvm/simd/array-repeat.rs#S390X: [missing] -> pass (J1)
  • [codegen] tests/codegen-llvm/simd/array-repeat.rs#X86: [missing] -> pass (J1)

Additionally, 78 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 1c316d34610a3cd31831d2ae8e5dd454f26de430 --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. dist-x86_64-apple: 2h 14m -> 1h 41m (-24.7%)
  2. aarch64-apple: 2h 31m -> 2h 52m (+14.0%)
  3. dist-sparcv9-solaris: 1h 39m -> 1h 31m (-7.8%)
  4. dist-aarch64-msvc: 1h 43m -> 1h 35m (-7.2%)
  5. x86_64-gnu-stable: 2h 21m -> 2h 11m (-7.0%)
  6. x86_64-gnu-gcc: 1h 3m -> 59m 17s (-6.9%)
  7. aarch64-msvc-1: 2h 9m -> 2h (-6.7%)
  8. aarch64-gnu-debug: 1h 11m -> 1h 6m (-6.7%)
  9. dist-powerpc-linux: 1h 22m -> 1h 28m (+6.3%)
  10. dist-x86_64-llvm-mingw: 1h 55m -> 2h 2m (+6.3%)
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 (1c316d3): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

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

Max RSS (memory usage)

Results (primary 2.8%, secondary 1.7%)

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

mean range count
Regressions ❌
(primary)
2.8% [1.5%, 4.1%] 2
Regressions ❌
(secondary)
5.1% [4.5%, 5.6%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-5.0% [-5.0%, -5.0%] 1
All ❌✅ (primary) 2.8% [1.5%, 4.1%] 2

Cycles

Results (secondary 0.9%)

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)
4.9% [3.0%, 6.8%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.1% [-3.9%, -2.3%] 2
All ❌✅ (primary) - - 0

Binary size

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

Bootstrap: 477.097s -> 475.432s (-0.35%)
Artifact size: 397.86 MiB -> 397.82 MiB (-0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-meta Area: Issues & PRs about the rust-lang/rust repository itself merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup 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.

8 participants