Skip to content

Rollup of 5 pull requests - #164673

Merged
rust-bors[bot] merged 15 commits into
rust-lang:mainfrom
jhpratt:rollup-kXeoG4o
Oct 21, 2026
Merged

rust-bors[bot] merged 15 commits into
rust-lang:mainfrom
jhpratt:rollup-kXeoG4o

Conversation

@jhpratt

@jhpratt jhpratt commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

View all comments

Successful merges:

r? @ghost

Create a similar rollup

Amanieu and others added 15 commits October 19, 2026 22:45
We can reuse the test setup for other intrinsics, saving a bit of build
time and repeated setup.
This isn't the most complicated function, but it currently isn't used
anywhere in-tree (typically `intrinsics::abort` is used instead) and
there are no examples or tests. Copy the examples from `abort` since
this should behave similarly, and also cover it in an assembly test. We
don't really need the assembly check for any guarantees but it is handy
to reference what the intrinsic actually does, and will let us know if
anything changes.

I also added tests for `breakpoint` on more platforms since these were
easy to do together.
To mitigate the eMudhra Intermediate CA Compromise.
… r=Kobzol

Bump `rustls-webpki` to 0.103.16 and `webpki-roots` to 1.0.10

To mitigate the eMudhra Intermediate CA Compromise.

r? @Kobzol
…=JohnTitor

core: Add examples and assembly tests for `abort_immediate`

This isn't the most complicated function, but it currently isn't used
anywhere in-tree (typically `intrinsics::abort` is used instead) and
there are no examples or tests. Copy the examples from `abort` since
this should behave similarly, and also cover it in an assembly test. We
don't really need the assembly check for any guarantees but it is handy
to reference what the intrinsic actually does, and will let us know if
anything changes.

I also added tests for `breakpoint` on more platforms since these were
easy to do together.

Tracking issue: rust-lang#154601
…ination, r=tmiasko

MIR move elimination [4/6]: MoveElimination

Depends on rust-lang#163336 and rust-lang#163337

This PR implements the `MoveElimination` pass from rust-lang/rfcs#3943.

This pass uses the analysis results from `PreciseLiveness` to unify locals that are related by an assignment. This also includes an alias-fixup pass which is needed because some rvalues don't allow sources to overlap with the destination place.

The pass is only enabled under `-Zmir-move-elimination`. This flag also disables `DestinationPropagation`, which is superseded by the new pass.

r? tmiasko
Add more documentation for `chroot`, including an example and a manpage link

As requested in rust-lang#163067 .

This adds an example, adds a manpage link, adds a mention that it requires
privileges, and adds an explanation that POSIX doesn't *require* it to be
async-signal-safe but it's safe in practice on our targets.
…ianqk

Make mir-opt blessing work again

Makes `./x test mir-opt --bless` work again.

@rustbot label A-testsuite A-mir-opt
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Oct 21, 2026
@rustbot rustbot added A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc O-unix Operating system: Unix-like 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-infra Relevant to the infrastructure 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 Oct 21, 2026
@jhpratt

jhpratt commented Oct 21, 2026

Copy link
Copy Markdown
Member Author

@bors r+ p=5 force

@rust-bors

rust-bors Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 7409eb9 has been approved by jhpratt

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 Oct 21, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Oct 21, 2026
Rollup of 5 pull requests

Successful merges:

 - #164672 (Bump `rustls-webpki` to 0.103.16 and `webpki-roots` to 1.0.10)
 - #163575 (core: Add examples and assembly tests for `abort_immediate`)
 - #163338 (MIR move elimination [4/6]: MoveElimination)
 - #163180 (Add more documentation for `chroot`, including an example and a manpage link)
 - #164638 (Make mir-opt blessing work again)
@rust-bors rust-bors Bot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 21, 2026
@rust-bors

rust-bors Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 8555fe2 failed: CI. Failed job:

@jhpratt

jhpratt commented Oct 21, 2026

Copy link
Copy Markdown
Member Author

@bors retry

@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 Oct 21, 2026
@rust-bors

This comment has been minimized.

@rust-bors

rust-bors Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 15m 45s
Pushing 6a58677 to main...

@rust-bors
rust-bors Bot merged commit 6a58677 into rust-lang:main Oct 21, 2026
15 checks passed
@rustbot rustbot added this to the 1.101.0 milestone Oct 21, 2026
@github-actions

Copy link
Copy Markdown
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 1731fae (parent) -> 6a58677 (this PR)

Test differences

Show 178 test diffs

Stage 1

  • [assembly] tests/assembly-llvm/breakpoint.rs#AARCH64: pass -> [missing] (J0)
  • [assembly] tests/assembly-llvm/breakpoint.rs#I686: pass -> [missing] (J0)
  • [assembly] tests/assembly-llvm/breakpoint.rs#X86_64: pass -> [missing] (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#AARCH64: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#ARM32: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#ARM64EC: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#AVR: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#BPF: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#I686: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#LOONGARCH32: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#LOONGARCH64: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#M68K: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#MIPS32: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#MIPS64: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#MSP430: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#PPC32: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#PPC64: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#RISCV32: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#RISCV64: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#S390X: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#SPARC32: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#SPARC64: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#WASI32: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#WASM32: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#X86_64: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/intrinsics.rs#XTENSA: [missing] -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J0)
  • [mir-opt] tests/mir-opt/move-elimination/alias_fixup.rs: [missing] -> pass (J0)
  • [mir-opt] tests/mir-opt/move-elimination/basic.rs: [missing] -> pass (J0)
  • [mir-opt] tests/mir-opt/move-elimination/dse.rs: [missing] -> pass (J0)
  • [mir-opt] tests/mir-opt/move-elimination/exclusions.rs: [missing] -> pass (J0)
  • [mir-opt] tests/mir-opt/move-elimination/unwind.rs: [missing] -> pass (J0)

Stage 2

  • [assembly] tests/assembly-llvm/breakpoint.rs#AARCH64: pass -> [missing] (J1)
  • [assembly] tests/assembly-llvm/breakpoint.rs#I686: pass -> [missing] (J1)
  • [assembly] tests/assembly-llvm/breakpoint.rs#X86_64: pass -> [missing] (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#AARCH64: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#ARM32: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#ARM64EC: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#AVR: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#BPF: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#I686: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#LOONGARCH32: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#LOONGARCH64: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#M68K: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#MIPS32: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#MIPS64: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#MSP430: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#PPC32: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#PPC64: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#RISCV32: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#RISCV64: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#S390X: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#SPARC32: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#SPARC64: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#WASI32: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#WASM32: [missing] -> pass (J1)
  • [assembly] tests/assembly-llvm/intrinsics.rs#X86_64: [missing] -> pass (J1)
  • [mir-opt] tests/mir-opt/move-elimination/alias_fixup.rs: [missing] -> pass (J2)
  • [mir-opt] tests/mir-opt/move-elimination/basic.rs: [missing] -> pass (J2)
  • [mir-opt] tests/mir-opt/move-elimination/dse.rs: [missing] -> pass (J2)
  • [mir-opt] tests/mir-opt/move-elimination/exclusions.rs: [missing] -> pass (J2)
  • [mir-opt] tests/mir-opt/move-elimination/unwind.rs: [missing] -> pass (J2)
  • [assembly] tests/assembly-llvm/intrinsics.rs#XTENSA: [missing] -> ignore (ignored when the LLVM version 22.1.2 is older than 23.0.0) (J3)
  • [assembly] tests/assembly-llvm/intrinsics.rs#XTENSA: [missing] -> pass (J4)

Additionally, 115 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 6a58677913ae3e443146503de3933abef0b2eda3 --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. test-x86_64-mingw-2: 1h 42m -> 2h 48m (+64.6%)
  2. test-x86_64-gnu-aux: 1h 48m -> 2h 51m (+57.4%)
  3. test-x86_64-gnu-gcc-core-tests: 18m 51s -> 8m 45s (-53.6%)
  4. test-x86_64-gnu-debug: 1h 23m -> 2h 4m (+50.2%)
  5. dist-powerpc64le-linux-gnu: 1h 9m -> 1h 44m (+49.4%)
  6. test-i686-gnu-1: 1h 31m -> 2h 16m (+48.7%)
  7. test-x86_64-gnu-miri: 58m 34s -> 1h 24m (+44.4%)
  8. test-x86_64-gnu-tools: 1h 12m -> 40m 26s (-44.1%)
  9. dist-i686-linux: 1h 12m -> 1h 43m (+42.3%)
  10. dist-aarch64-apple: 1h 43m -> 2h 26m (+40.9%)
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
Copy Markdown
Collaborator

Finished benchmarking commit (6a58677): comparison URL.

Overall result: ❌ regressions - no action needed

@rustbot label: -perf-regression

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
Regressions ❌
(secondary)
0.6% [0.6%, 0.6%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 1.0%, secondary -0.5%)

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

mean range count
Regressions ❌
(primary)
1.0% [1.0%, 1.0%] 1
Regressions ❌
(secondary)
5.0% [1.9%, 8.1%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.2% [-5.0%, -1.1%] 4
All ❌✅ (primary) 1.0% [1.0%, 1.0%] 1

Cycles

Results (primary 2.7%, secondary 0.2%)

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

mean range count
Regressions ❌
(primary)
2.7% [2.0%, 3.2%] 4
Regressions ❌
(secondary)
1.7% [0.4%, 2.9%] 5
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-1.3% [-2.0%, -0.8%] 5
All ❌✅ (primary) 2.7% [2.0%, 3.2%] 4

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
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.0% [-0.0%, -0.0%] 4
Improvements ✅
(secondary)
-0.0% [-0.0%, -0.0%] 1
All ❌✅ (primary) -0.0% [-0.0%, -0.0%] 4

Bootstrap: 490.972s -> 488.496s (-0.50%)
Artifact size: 406.53 MiB -> 406.57 MiB (0.01%)

@rust-bors

rust-bors Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#164672 Bump rustls-webpki to 0.103.16 and webpki-roots to 1.0.… 6cf58855d923f14173275f67c4ef731eba4907d3
(link)
#163575 core: Add examples and assembly tests for abort_immediate 9a5c4c97ec44e8754b1dde7a8e9b5236c3b0da35
(link)
#163338 MIR move elimination [4/6]: MoveElimination e61ed2e1c2132ee42b47d34c4a25f57a6c032c22
(link)
#163180 Add more documentation for chroot, including an example a… b71010bca0511730ecf5d0963d718d22b37dc1e4
(link)
#164638 Make mir-opt blessing work again a12e718cf79d49cb166ddebae1f379b7e8391fa4
(link)

parent commit: 1731faea0d

In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: @rust-timer triage $SHA $SHA $SHA..., or run @rust-timer triage all to benchmark all rollup members.

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

Labels

A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. O-unix Operating system: Unix-like rollup A PR which is a rollup T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure 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.

10 participants