Skip to content

Fix the floating point clobbers of RISC-V clobber_abi - #163839

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
beetrees:fix-riscv-clobber-abi-fd
Oct 31, 2026
Merged

rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
beetrees:fix-riscv-clobber-abi-fd

Conversation

@beetrees

@beetrees beetrees commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

On RISC-V, callee-saved floating point registers are only callee-saved up to ABI_FLEN bits; the rest of the register is considered temporary. For clobber_abi("C"), as LLVM doesn't support partial register clobbers, this requires the callee-saved floating point registers to be clobbered.

These issues are noticeable in beta but not stable due to the recent stabilisation of the f and d target features (tracking issue: #150257) so this probably needs a beta backport unless the stabilisation is reverted.

@rustbot rustbot added 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. labels Oct 5, 2026
@rustbot

rustbot commented Oct 5, 2026

Copy link
Copy Markdown
Collaborator

r? @petrochenkov

rustbot has assigned @petrochenkov.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 77 candidates
  • Random selection from 19 candidates

@beetrees beetrees added A-inline-assembly Area: Inline assembly (`asm!(…)`) beta-nominated Nominated for backporting to the compiler in the beta channel. O-riscv Target: RISC-V architecture labels Oct 5, 2026
@beetrees beetrees closed this Oct 5, 2026
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 5, 2026
@beetrees beetrees reopened this Oct 5, 2026
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 5, 2026
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-aarch64-gnu-llvm-22-2 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] rustc_expand_queries test:false 0.430
   Compiling rustc_public_bridge v0.0.0 (/checkout/compiler/rustc_public_bridge)
[RUSTC-TIMING] rustc_resolve test:false 29.568

##[error]The runner has received a shutdown signal. This can happen when the runner service is stopped, or a manually started runner is canceled.
Session terminated, killing shell...::group::Clock drift check
  local time: Mon Oct  5 20:17:11 UTC 2026
  network time: Mon, 05 Oct 2026 20:17:11 GMT
##[endgroup]
 ...killed.
##[error]The operation was canceled.

@beetrees beetrees closed this Oct 5, 2026
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 5, 2026
@beetrees beetrees reopened this Oct 5, 2026
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 5, 2026
@tgross35

tgross35 commented Oct 5, 2026

Copy link
Copy Markdown
Member

Relevant stabilization PR: #161385

@petrochenkov

Copy link
Copy Markdown
Contributor

r? @Amanieu

@cuviper

cuviper commented Oct 28, 2026

Copy link
Copy Markdown
Member

These issues are noticeable in beta but not stable due to the recent stabilisation of the f and d target features (tracking issue: #150257) so this probably needs a beta backport unless the stabilisation is reverted.

@Amanieu will you have time to review this so we can backport it before 1.100? Or would you prefer a revert?

@Amanieu

Amanieu commented Oct 28, 2026

Copy link
Copy Markdown
Member

Yes, adding more clobbers is an entirely conservative change, and should be safe to backport.

@bors r+

@rust-bors

rust-bors Bot commented Oct 28, 2026

Copy link
Copy Markdown
Contributor

📌 Commit e99838b has been approved by Amanieu

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 28, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Oct 30, 2026
… r=Amanieu

Fix the floating point clobbers of RISC-V `clobber_abi`

On RISC-V, callee-saved floating point registers are only callee-saved up to ABI_FLEN bits; the rest of the register is considered temporary. For `clobber_abi("C")`, as LLVM doesn't support partial register clobbers, this requires the callee-saved floating point registers to be clobbered.

These issues are noticeable in beta but not stable due to the recent stabilisation of the f and d target features (tracking issue: rust-lang#150257) so this probably needs a beta backport unless the stabilisation is reverted.
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Oct 30, 2026
… r=Amanieu

Fix the floating point clobbers of RISC-V `clobber_abi`

On RISC-V, callee-saved floating point registers are only callee-saved up to ABI_FLEN bits; the rest of the register is considered temporary. For `clobber_abi("C")`, as LLVM doesn't support partial register clobbers, this requires the callee-saved floating point registers to be clobbered.

These issues are noticeable in beta but not stable due to the recent stabilisation of the f and d target features (tracking issue: rust-lang#150257) so this probably needs a beta backport unless the stabilisation is reverted.
rust-bors Bot pushed a commit that referenced this pull request Oct 30, 2026
…uwer

Rollup of 21 pull requests

Successful merges:

 - #164851 (Add behavior tests for `Arc` and `Rc`)
 - #164989 (rustdoc: Fix performance regression for private documented items)
 - #165079 (Remove GenericArgRef)
 - #161781 (Don't emit InlineAsm terminator if input operand is `!`.)
 - #162754 (optimize large elements for slice rotating)
 - #163252 (Remove windows-targets dependency from the root workspace)
 - #163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - #165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - #165132 (Implement `advance_back_by` on `Fuse`)
 - #165142 (Remove the unused generic Graphviz writer)
 - #163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - #163802 (fix RegionEq direction in canonical query responses)
 - #163986 (omit unconditionally invoking crate level limits query)
 - #164920 (Point at prior token on `let` when expression is expected)
 - #164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - #165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - #165114 (use native interpreter impl for funnel shifts intrinsics)
 - #165119 (remove unnecessary fast path from borrowck)
 - #165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - #165128 (Move `doc(keyword)` and `doc(attribute)` attributes checks from `rustc_passes` to `rustc_attr_parsing`)
 - #165129 (Fix ICE in prelude edition lint)

Failed merges:

 - #164981 (Reflection add TypeId::name)
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Oct 30, 2026
… r=Amanieu

Fix the floating point clobbers of RISC-V `clobber_abi`

On RISC-V, callee-saved floating point registers are only callee-saved up to ABI_FLEN bits; the rest of the register is considered temporary. For `clobber_abi("C")`, as LLVM doesn't support partial register clobbers, this requires the callee-saved floating point registers to be clobbered.

These issues are noticeable in beta but not stable due to the recent stabilisation of the f and d target features (tracking issue: rust-lang#150257) so this probably needs a beta backport unless the stabilisation is reverted.
rust-bors Bot pushed a commit that referenced this pull request Oct 30, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - #164851 (Add behavior tests for `Arc` and `Rc`)
 - #164989 (rustdoc: Fix performance regression for private documented items)
 - #165079 (Remove GenericArgRef)
 - #161781 (Don't emit InlineAsm terminator if input operand is `!`.)
 - #162754 (optimize large elements for slice rotating)
 - #163252 (Remove windows-targets dependency from the root workspace)
 - #163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - #165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - #165132 (Implement `advance_back_by` on `Fuse`)
 - #165142 (Remove the unused generic Graphviz writer)
 - #165148 (ci: increase free disk space on macos-26 jobs)
 - #163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - #163802 (fix RegionEq direction in canonical query responses)
 - #163986 (omit unconditionally invoking crate level limits query)
 - #164920 (Point at prior token on `let` when expression is expected)
 - #164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - #165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - #165114 (use native interpreter impl for funnel shifts intrinsics)
 - #165119 (remove unnecessary fast path from borrowck)
 - #165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - #165128 (Move `doc(keyword)` and `doc(attribute)` attributes checks from `rustc_passes` to `rustc_attr_parsing`)
 - #165129 (Fix ICE in prelude edition lint)

Failed merges:

 - #164981 (Reflection add TypeId::name)

> [!WARNING]
> This rollup conflicts with pending auto build #165205 and may need to be recreated if the pending build succeeds.
rust-bors Bot pushed a commit that referenced this pull request Oct 31, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - #164851 (Add behavior tests for `Arc` and `Rc`)
 - #164989 (rustdoc: Fix performance regression for private documented items)
 - #165079 (Remove GenericArgRef)
 - #161781 (Don't emit InlineAsm terminator if input operand is `!`.)
 - #162754 (optimize large elements for slice rotating)
 - #163252 (Remove windows-targets dependency from the root workspace)
 - #163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - #165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - #165132 (Implement `advance_back_by` on `Fuse`)
 - #165142 (Remove the unused generic Graphviz writer)
 - #165148 (ci: increase free disk space on macos-26 jobs)
 - #163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - #163802 (fix RegionEq direction in canonical query responses)
 - #163986 (omit unconditionally invoking crate level limits query)
 - #164920 (Point at prior token on `let` when expression is expected)
 - #164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - #165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - #165114 (use native interpreter impl for funnel shifts intrinsics)
 - #165119 (remove unnecessary fast path from borrowck)
 - #165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - #165128 (Move `doc(keyword)` and `doc(attribute)` attributes checks from `rustc_passes` to `rustc_attr_parsing`)
 - #165129 (Fix ICE in prelude edition lint)

Failed merges:

 - #164981 (Reflection add TypeId::name)

> [!WARNING]
> This rollup conflicts with pending auto build #165205 and may need to be recreated if the pending build succeeds.
rust-bors Bot pushed a commit that referenced this pull request Oct 31, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - #164851 (Add behavior tests for `Arc` and `Rc`)
 - #164989 (rustdoc: Fix performance regression for private documented items)
 - #165079 (Remove GenericArgRef)
 - #161781 (Don't emit InlineAsm terminator if input operand is `!`.)
 - #162754 (optimize large elements for slice rotating)
 - #163252 (Remove windows-targets dependency from the root workspace)
 - #163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - #165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - #165132 (Implement `advance_back_by` on `Fuse`)
 - #165142 (Remove the unused generic Graphviz writer)
 - #165148 (ci: increase free disk space on macos-26 jobs)
 - #163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - #163802 (fix RegionEq direction in canonical query responses)
 - #163986 (omit unconditionally invoking crate level limits query)
 - #164920 (Point at prior token on `let` when expression is expected)
 - #164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - #165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - #165114 (use native interpreter impl for funnel shifts intrinsics)
 - #165119 (remove unnecessary fast path from borrowck)
 - #165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - #165128 (Move `doc(keyword)` and `doc(attribute)` attributes checks from `rustc_passes` to `rustc_attr_parsing`)
 - #165129 (Fix ICE in prelude edition lint)

Failed merges:

 - #164981 (Reflection add TypeId::name)

> [!WARNING]
> This rollup conflicts with pending auto build #165205 and may need to be recreated if the pending build succeeds.
rust-bors Bot pushed a commit that referenced this pull request Oct 31, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - #164851 (Add behavior tests for `Arc` and `Rc`)
 - #164989 (rustdoc: Fix performance regression for private documented items)
 - #165079 (Remove GenericArgRef)
 - #161781 (Don't emit InlineAsm terminator if input operand is `!`.)
 - #162754 (optimize large elements for slice rotating)
 - #163252 (Remove windows-targets dependency from the root workspace)
 - #163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - #165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - #165132 (Implement `advance_back_by` on `Fuse`)
 - #165142 (Remove the unused generic Graphviz writer)
 - #165233 (Remove test-aarch64-apple-* jobs temporarily)
 - #163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - #163802 (fix RegionEq direction in canonical query responses)
 - #163986 (omit unconditionally invoking crate level limits query)
 - #164920 (Point at prior token on `let` when expression is expected)
 - #164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - #165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - #165114 (use native interpreter impl for funnel shifts intrinsics)
 - #165119 (remove unnecessary fast path from borrowck)
 - #165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - #165128 (Move `doc(keyword)` and `doc(attribute)` attributes checks from `rustc_passes` to `rustc_attr_parsing`)
 - #165129 (Fix ICE in prelude edition lint)

> [!WARNING]
> This rollup conflicts with pending auto build #165217 and may need to be recreated if the pending build succeeds.
@rust-bors
rust-bors Bot merged commit b5c88f1 into rust-lang:main Oct 31, 2026
18 of 42 checks passed
@rustbot rustbot added this to the 1.101.0 milestone Oct 31, 2026
rust-bors Bot pushed a commit that referenced this pull request Oct 31, 2026
Rollup merge of #163839 - beetrees:fix-riscv-clobber-abi-fd, r=Amanieu

Fix the floating point clobbers of RISC-V `clobber_abi`

On RISC-V, callee-saved floating point registers are only callee-saved up to ABI_FLEN bits; the rest of the register is considered temporary. For `clobber_abi("C")`, as LLVM doesn't support partial register clobbers, this requires the callee-saved floating point registers to be clobbered.

These issues are noticeable in beta but not stable due to the recent stabilisation of the f and d target features (tracking issue: #150257) so this probably needs a beta backport unless the stabilisation is reverted.
@beetrees
beetrees deleted the fix-riscv-clobber-abi-fd branch October 31, 2026 17:04
@rust-timer

Copy link
Copy Markdown
Collaborator

Note

This PR was benchmarked as part of triage of its containing rollup: triage URL.

Finished benchmarking commit (b614c5b): comparison URL.

Overall result: ❌✅ regressions and improvements - please read:

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

Max RSS (memory usage)

This perf run didn't have relevant results for this metric.

Cycles

Results (secondary 3.3%)

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

Binary size

This perf run didn't have relevant results for this metric.

Artifact size: 406.61 MiB -> 406.81 MiB (0.05%)

@rustbot rustbot added the perf-regression Performance regression. label Oct 31, 2026
jhpratt added a commit to jhpratt/rust that referenced this pull request Nov 1, 2026
…Amanieu

Fix RISC-V inline ASM `clobber_abi` when extra target features are enabled

Waiting on rust-lang#163839, a beta-backportable subset of this PR.

This PR fixes several issues with `clobber_abi("C")` on RISC-V:

- Whether to clobber the registers for `ilp32e`/`lp64e` or not was previously decided based on whether the `e` target feature was enabled, as opposed to the actual ABI in use.
- `ilp32e`/`lp64e` failed to clobber all floating point registers and the upper integer registers as specified in the ABI specification. As a side effect of fixing this, `x16`-`x31` can now be used as clobbers when the `e` feature is enabled (as RISC-V inline ASM is stable, I think this might require a FCP?).
- Callee-saved floating point registers are only callee-saved up to ABI_FLEN bits; the rest of the register is considered temporary. As LLVM doesn't support partial register clobbers, this requires the callee-saved floating point registers to be clobbered.
@RalfJung

RalfJung commented Nov 1, 2026

Copy link
Copy Markdown
Member

@davidtwco @BoxyUwU @Mark-Simulacrum this was meant to be included in the imminent release, where some risc-v target features are becoming stable so we should ensure the clobbers are correct. Is that still possible?

rust-bors Bot pushed a commit that referenced this pull request Nov 1, 2026
Rollup merge of #163833 - beetrees:fix-riscv-clobber-abi, r=Amanieu

Fix RISC-V inline ASM `clobber_abi` when extra target features are enabled

Waiting on #163839, a beta-backportable subset of this PR.

This PR fixes several issues with `clobber_abi("C")` on RISC-V:

- Whether to clobber the registers for `ilp32e`/`lp64e` or not was previously decided based on whether the `e` target feature was enabled, as opposed to the actual ABI in use.
- `ilp32e`/`lp64e` failed to clobber all floating point registers and the upper integer registers as specified in the ABI specification. As a side effect of fixing this, `x16`-`x31` can now be used as clobbers when the `e` feature is enabled (as RISC-V inline ASM is stable, I think this might require a FCP?).
- Callee-saved floating point registers are only callee-saved up to ABI_FLEN bits; the rest of the register is considered temporary. As LLVM doesn't support partial register clobbers, this requires the callee-saved floating point registers to be clobbered.
eduardorittner pushed a commit to eduardorittner/miri that referenced this pull request Nov 2, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - rust-lang/rust#164851 (Add behavior tests for `Arc` and `Rc`)
 - rust-lang/rust#164989 (rustdoc: Fix performance regression for private documented items)
 - rust-lang/rust#165079 (Remove GenericArgRef)
 - rust-lang/rust#161781 (Don't emit InlineAsm terminator if input operand is `!`.)
 - rust-lang/rust#162754 (optimize large elements for slice rotating)
 - rust-lang/rust#163252 (Remove windows-targets dependency from the root workspace)
 - rust-lang/rust#163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - rust-lang/rust#165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - rust-lang/rust#165132 (Implement `advance_back_by` on `Fuse`)
 - rust-lang/rust#165142 (Remove the unused generic Graphviz writer)
 - rust-lang/rust#165233 (Remove test-aarch64-apple-* jobs temporarily)
 - rust-lang/rust#163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - rust-lang/rust#163802 (fix RegionEq direction in canonical query responses)
 - rust-lang/rust#163986 (omit unconditionally invoking crate level limits query)
 - rust-lang/rust#164920 (Point at prior token on `let` when expression is expected)
 - rust-lang/rust#164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - rust-lang/rust#165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - rust-lang/rust#165114 (use native interpreter impl for funnel shifts intrinsics)
 - rust-lang/rust#165119 (remove unnecessary fast path from borrowck)
 - rust-lang/rust#165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - rust-lang/rust#165128 (Move `doc(keyword)` and `doc(attribute)` attributes checks from `rustc_passes` to `rustc_attr_parsing`)
 - rust-lang/rust#165129 (Fix ICE in prelude edition lint)

> [!WARNING]
> This rollup conflicts with pending auto build #165217 and may need to be recreated if the pending build succeeds.
eduardorittner pushed a commit to eduardorittner/miri that referenced this pull request Nov 2, 2026
Fix RISC-V inline ASM `clobber_abi` when extra target features are enabled

Waiting on rust-lang/rust#163839, a beta-backportable subset of this PR.

This PR fixes several issues with `clobber_abi("C")` on RISC-V:

- Whether to clobber the registers for `ilp32e`/`lp64e` or not was previously decided based on whether the `e` target feature was enabled, as opposed to the actual ABI in use.
- `ilp32e`/`lp64e` failed to clobber all floating point registers and the upper integer registers as specified in the ABI specification. As a side effect of fixing this, `x16`-`x31` can now be used as clobbers when the `e` feature is enabled (as RISC-V inline ASM is stable, I think this might require a FCP?).
- Callee-saved floating point registers are only callee-saved up to ABI_FLEN bits; the rest of the register is considered temporary. As LLVM doesn't support partial register clobbers, this requires the callee-saved floating point registers to be clobbered.
@rustbot

rustbot commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator

beta backport declined as per compiler team on Zulip.

@rustbot rustbot removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Nov 2, 2026
cuviper pushed a commit to cuviper/rust that referenced this pull request Nov 2, 2026
Revert <rust-lang#161385> on beta to let
the fix <rust-lang#163839> and the
stabilization itself bake for another release cycle.

Discussed whether to backport a fix or postpone stabilization in
<https://rust-lang.zulipchat.com/#narrow/channel/474880-t-compiler.2Fbackports/topic/.23163839.3A.20beta-nominated/with/636835799>.
The call there was to be safer and postpone the stabilization by a
release cycle.

This reverts commit 430e887, reversing
changes made to d9b3213.
@JonathanBrouwer

Copy link
Copy Markdown
Member

@rustbot label: +perf-regression-triaged
Noise

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Nov 3, 2026
DaniPopes pushed a commit to DaniPopes/rustc_codegen_cranelift that referenced this pull request Nov 4, 2026
…uwer

Rollup of 22 pull requests

Successful merges:

 - rust-lang/rust#164851 (Add behavior tests for `Arc` and `Rc`)
 - rust-lang/rust#164989 (rustdoc: Fix performance regression for private documented items)
 - rust-lang/rust#165079 (Remove GenericArgRef)
 - rust-lang/rust#161781 (Don't emit InlineAsm terminator if input operand is `!`.)
 - rust-lang/rust#162754 (optimize large elements for slice rotating)
 - rust-lang/rust#163252 (Remove windows-targets dependency from the root workspace)
 - rust-lang/rust#163839 (Fix the floating point clobbers of RISC-V `clobber_abi`)
 - rust-lang/rust#165104 (Use getrandom instead of /scheme/rand on Redox OS)
 - rust-lang/rust#165132 (Implement `advance_back_by` on `Fuse`)
 - rust-lang/rust#165142 (Remove the unused generic Graphviz writer)
 - rust-lang/rust#165233 (Remove test-aarch64-apple-* jobs temporarily)
 - rust-lang/rust#163371 (Don't suggest replacing foreign format specifiers in `concat!` output)
 - rust-lang/rust#163802 (fix RegionEq direction in canonical query responses)
 - rust-lang/rust#163986 (omit unconditionally invoking crate level limits query)
 - rust-lang/rust#164920 (Point at prior token on `let` when expression is expected)
 - rust-lang/rust#164987 (use adt_async_drop_tys for nested ADTs in needs_async_drop)
 - rust-lang/rust#165061 (Use a fixed-length encoding for hash disambiguators in v0 symbols)
 - rust-lang/rust#165114 (use native interpreter impl for funnel shifts intrinsics)
 - rust-lang/rust#165119 (remove unnecessary fast path from borrowck)
 - rust-lang/rust#165122 (fix MaybeDangling validity logic for ZST at usize::MAX)
 - rust-lang/rust#165128 (Move `doc(keyword)` and `doc(attribute)` attributes checks from `rustc_passes` to `rustc_attr_parsing`)
 - rust-lang/rust#165129 (Fix ICE in prelude edition lint)

> [!WARNING]
> This rollup conflicts with pending auto build #165217 and may need to be recreated if the pending build succeeds.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-inline-assembly Area: Inline assembly (`asm!(…)`) O-riscv Target: RISC-V architecture perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler 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