Skip to content

Rollup of 10 pull requests#158419

Merged
rust-bors[bot] merged 25 commits into
rust-lang:mainfrom
jhpratt:rollup-38sJqWx
Jun 26, 2026
Merged

Rollup of 10 pull requests#158419
rust-bors[bot] merged 25 commits into
rust-lang:mainfrom
jhpratt:rollup-38sJqWx

Conversation

@jhpratt

@jhpratt jhpratt commented Jun 25, 2026

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

pmur and others added 25 commits June 17, 2026 13:09
fentry is essentially a simpler version of mcount where the
counting function is called before any other function prologue
actions happen.

fentry is still used by the linux x86-64 kernel. It's unclear if
or when patchable-function-entry will replace it. It is also used
by clang for some x86-64 mingw toolchains.

This is only supported on some x86, x86-64, and s390x targets.
Signed-off-by: HNO3Miracle <xiangao.or@isrc.iscas.ac.cn>
…lign-157750, r=cuviper

Update LLVM for Mach-O __LINKEDIT alignment fix.

Update LLVM submodule to pull in changes from rust-lang/llvm-project#198.

Fixes rust-lang#157750.

This backport has been discussed in: [#t-compiler > Backport LLVM change to Rust for macOS 27 support?](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Backport.20LLVM.20change.20to.20Rust.20for.20macOS.2027.20support.3F/with/605925959).
…avidtwco,RalfJung

cmse: clear padding when crossing the secure boundary

tracking issue: rust-lang#81391
tracking issue: rust-lang#75835
RFC: rust-lang/rfcs#3884
related: rust-lang#147697

quick context: cmse creates a distinction between code running in secure mode and non-secure mode (think kernel space versus user space). Secure mode has access to data (e.g. encryption keys) that must not leak to non-secure mode. They use a special calling convention that clears unused registers, but padding in arguments/return values can contain stale secure data.

This PR clears the padding bytes (and similar, e.g. space not used in any variant of a union/enum) when values are passed over the secure boundary.

Separately we'll have a lint to warn on enums and unions being passed across the boundary: for them we can't statically know whether the variant that is passed contains padding.

This is conceptually modeled after a similar feature in `clang` ([implementation](https://github.com/llvm/llvm-project/blob/065a39b9f7f06fca0926394096ee1c1fac41d446/clang/lib/CodeGen/CGCall.cpp#L4041-L4087)).

cc @Jules-Bertholet
r? @davidtwco
Add -Zinstrument-mcount=fentry to -Zinstrument-mcount

fentry is essentially a simpler version of mcount where the counting function is called before any other function prologue actions happen.

fentry is still used by the linux x86-64 kernel. It's unclear if or when patchable-function-entry will replace it. It is also used by clang for some x86-64 mingw toolchains.

This is only supported on some x86, x86-64, and s390x targets.
llvm: use intrinsics for f16, f32 minimum/maximum

The mentioned LLVM issues seem to only affect f64 and f128.

Cc @nikic @Urgau @tgross35
…ase, r=petrochenkov

fix(tests): allow either branch direction in ilog_known_base

Fixes rust-lang#158339.

`tests/codegen-llvm/ilog_known_base.rs` checks that `checked_ilog` with a known power-of-two base is lowered through the faster `llvm.ctlz` path.

On `riscv64gc-unknown-linux-gnu`, LLVM emits the zero check with the opposite branch direction (`icmp eq i32 %val, 0`) from what the test currently expects (`icmp ne i32 %val, 0`). Both forms still guard the same `llvm.ctlz` fast path, so this relaxes the FileCheck pattern to accept either comparison direction.

This also fixes the `checked_ilog16` FileCheck variable to use the `DIV4` result it just matched.

Tested:

```sh
./x test --stage 2 tests/codegen-llvm/ilog_known_base.rs
```
LLVM 23: Adapt codegen test to moved assume

I wasn't completely sure what the important part of this test is - based on the "Make sure we don't create `br` or `select` instructions" comment I assume it's that the `load` is followed ~immediately by the `ret`, and that the presence or absence of the `assume` doesn't really matter (it's been moved up a few lines to before the `load`):

```ll
; Function Attrs
define noundef i32 @foo(ptr noalias nofree noundef align 8 captures(none) dereferenceable(16) %x) unnamed_addr #0 {
start
 %_6 = load ptr, ptr %x, align 8, !nonnull !4, !noundef !4
 %0 = getelementptr inbounds nuw i8, ptr %x, i64 8
 %_7 = load ptr, ptr %0, align 8, !nonnull !4, !noundef !4
 %_8 = icmp ne ptr %_6, %_7
 tail call void @llvm.assume(i1 %_8)
 %_14 = getelementptr inbounds nuw i8, ptr %_6, i64 4
 store ptr %_14, ptr %x, align 8
 %_4 = load i32, ptr %_6, align 4, !noundef !4
 ret i32 %_4
}
 ```

@rustbot label llvm-main

[original CI failure](https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/46608/list?sid=019ed950-c81f-466d-a3bc-2064e6a26719&tab=output)
… r=mejrs

Move part of the target checking for `#[may_dangle]` to the parser

Work towards removing the ALL_TARGETS list.
Only one remaining after this!

r? @mejrs
…henkov

Fix invalid E0609 raw pointer deref suggestion inside macros

Fixes rust-lang#158158

`suggest_first_deref_field` blindly applied span math (`shrink_to_lo()`, `between()`) to generate a dereference suggestion for E0609. When the base expression and field access originate from different macro expansions, the `SyntaxContext` mismatch caused the span combinations to fail. This resulted in the compiler falling back to incorrect source locations and generating malformed replacement strings like `&mut (*).`.

* Added a `span.from_expansion()` guard at the top of `suggest_first_deref_field` to check both `base.span` and `field.span`.
* Suppressed the multipart suggestion entirely when inside macro expansions to prevent emitting broken syntax, bypassing complex and unreliable cross-macro span traversals.
* Added a new UI test to ensure the standard E0609 error is emitted cleanly without the garbled `help:` label.
…enerics-2, r=petrochenkov

delegation: add tests for defaults and infers in generics

This PR adds tests for interaction of default generic params and infers in delegation. Moreover, it groups delegation's pretty tests into a single folder and adds one test for generics. Comments in tests explain the behavior.

Part of rust-lang#118212.
r? @petrochenkov
…trochenkov

Generate synthetic generic args only for delegation's child segment

Fixes rust-lang#158152 by generating synthetic generic args only for delegation's child segment.

r? @petrochenkov
cc @fmease
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Jun 25, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. 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 Jun 25, 2026
@jhpratt

jhpratt commented Jun 25, 2026

Copy link
Copy Markdown
Member Author

@bors r+ rollup=never p=5

@rust-bors

rust-bors Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

📌 Commit d109bb0 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 Jun 25, 2026
@rust-bors

This comment has been minimized.

@jhpratt

jhpratt commented Jun 25, 2026

Copy link
Copy Markdown
Member Author

This run seems to be going well and contains everything remaining that can be rolled up. I'll be keeping an eye on the queue for a bit to ensure that remains the case.

@bors treeclosed-

@rust-bors

rust-bors Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Tree is now open for merging.

@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 Jun 26, 2026
@rust-bors

rust-bors Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 19m 42s
Pushing 40557f6 to main...

@rust-bors rust-bors Bot merged commit 40557f6 into rust-lang:main Jun 26, 2026
14 checks passed
@rustbot rustbot added this to the 1.98.0 milestone Jun 26, 2026
@jhpratt jhpratt deleted the rollup-38sJqWx branch June 26, 2026 02:09
@rust-timer

Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#157397 cmse: clear padding when crossing the secure boundary 7be9a32d58b3284d53a914313473111883a75eb1 (link)
#158036 Add -Zinstrument-mcount=fentry to -Zinstrument-mcount 7940f35ea6cc36efc23bd1973c8fff5bc6bec95d (link)
#158067 LLVM 23: Adapt codegen test to moved assume 94960b4b777bc6c327f51938ae727ba8599e27ba (link)
#158261 Move part of the target checking for #[may_dangle] to the… aceebf6c99fc94c5add8fb197b095eb5d91e0e16 (link)
#158330 llvm: use intrinsics for f16, f32 minimum/maximum 6d31a69f0157a37d391d15ca73a787bff4931108 (link)
#158358 Fix invalid E0609 raw pointer deref suggestion inside macros f822131b08c3b76c9dc647ac9246da343de30952 (link)
#158359 fix(tests): allow either branch direction in ilog_known_base 3579ceb923d6488959a5d6f35466cee61cee9ba3 (link)
#158392 delegation: add tests for defaults and infers in generics c3b7d6b7aa24514a3ff31282d14fb2f918b0103b (link)
#158394 Generate synthetic generic args only for delegation's child… d5803a25e8609125bd9e8694c48c31336537aad8 (link)
#158410 Update LLVM for Mach-O __LINKEDIT alignment fix. 2c97bdaf1adf076ada2160a3d76869ed1960d00d (link)

previous master: bd08c9e718

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
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 bd08c9e (parent) -> 40557f6 (this PR)

Test differences

Show 84 test diffs

Stage 1

  • [assembly] tests/assembly-llvm/fentry.rs#S390X: [missing] -> pass (J0)
  • [assembly] tests/assembly-llvm/fentry.rs#X86: [missing] -> pass (J0)
  • [pretty] tests/pretty/delegation-impl-reuse.rs: pass -> [missing] (J0)
  • [pretty] tests/pretty/delegation-inherit-attributes.rs: pass -> [missing] (J0)
  • [pretty] tests/pretty/delegation-inline-attribute.rs: pass -> [missing] (J0)
  • [pretty] tests/pretty/delegation-self-rename.rs: pass -> [missing] (J0)
  • [pretty] tests/pretty/delegation.rs: pass -> [missing] (J0)
  • [pretty] tests/pretty/delegation/delegation.rs: [missing] -> pass (J0)
  • [pretty] tests/pretty/delegation/generics.rs: [missing] -> pass (J0)
  • [pretty] tests/pretty/delegation/impl-reuse.rs: [missing] -> pass (J0)
  • [pretty] tests/pretty/delegation/inherit-attributes.rs: [missing] -> pass (J0)
  • [pretty] tests/pretty/delegation/inline-attribute.rs: [missing] -> pass (J0)
  • [pretty] tests/pretty/delegation/self-rename.rs: [missing] -> pass (J0)
  • [codegen] tests/codegen-llvm/amdgpu-addrspacecast.rs#LLVM21: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/gpu-launch-sized-workgroup-memory.rs#nvptx-post-llvm-23: ignore (ignored when the LLVM version 22.1.7 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.8 is older than 23.0.0) (J1)
  • [codegen] tests/codegen-llvm/issues/issue-118306.rs#LLVM23: ignore (ignored when the LLVM version 22.1.7 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.8 is older than 23.0.0) (J1)
  • [codegen] tests/codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs#old: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/issues/issue-37945.rs#new: ignore (ignored when the LLVM version 22.1.7 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.8 is older than 23.0.0) (J1)
  • [codegen] tests/codegen-llvm/issues/matches-logical-or-141497.rs: ignore (ignored when the LLVM version 22.1.7 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.8 is older than 23.0.0) (J1)
  • [codegen] tests/codegen-llvm/pow_known_base.rs#LLVM23: ignore (ignored when the LLVM version 22.1.7 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.8 is older than 23.0.0) (J1)
  • [codegen] tests/codegen-llvm/scalable-vectors/debuginfo.rs#PRE-LLVM-22: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-gather.rs#LLVM21: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-masked-load.rs#LLVM21: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-masked-store.rs#LLVM21: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-scatter.rs#LLVM21: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/vec_pop_push_noop.rs#old: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J1)
  • [codegen] tests/codegen-llvm/vecdeque_pop_push.rs#old: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J1)
  • [assembly] tests/assembly-llvm/cmse-clear-padding.rs: [missing] -> pass (J8)
  • [codegen] tests/codegen-llvm/instrument-fentry.rs#s390x-linux: [missing] -> pass (J11)
  • [codegen] tests/codegen-llvm/instrument-fentry.rs#x86-linux: [missing] -> pass (J11)
  • [codegen] tests/codegen-llvm/instrument-fentry.rs#x86_64-linux: [missing] -> pass (J11)
  • [codegen] tests/codegen-llvm/instrument_fn.rs#FENTRY: [missing] -> pass (J11)
  • [ui (polonius)] tests/ui/const-generics/mgca/synth-gen-arg-ice-158152.rs: [missing] -> pass (J12)
  • [ui (polonius)] tests/ui/delegation/generics/infer-defaults.rs: [missing] -> pass (J12)
  • [ui (polonius)] tests/ui/macros/deref-raw-pointer-issue-158158.rs: [missing] -> pass (J12)
  • [assembly] tests/assembly-llvm/cmse-clear-padding.rs: [missing] -> ignore (ignored when the LLVM version 21.1.2 is older than 22.0.0) (J13)
  • [codegen] tests/codegen-llvm/issues/issue-107681-unwrap_unchecked.rs: pass -> ignore (ignored when the LLVM version 21.1.2 is older than 22.0.0) (J13)
  • [ui] tests/ui/const-generics/mgca/synth-gen-arg-ice-158152.rs: [missing] -> pass (J15)
  • [ui] tests/ui/delegation/generics/infer-defaults.rs: [missing] -> pass (J15)
  • [ui] tests/ui/macros/deref-raw-pointer-issue-158158.rs: [missing] -> pass (J15)

Stage 2

  • [assembly] tests/assembly-llvm/carryless-mul.rs#x86_64: ignore (ignored when the LLVM version 22.1.7 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.8 is older than 23.0.0) (J2)
  • [assembly] tests/assembly-llvm/simd-bitmask.rs#aarch64: ignore (ignored when the LLVM version 22.1.7 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.8 is older than 23.0.0) (J3)
  • [codegen] tests/codegen-llvm/amdgpu-addrspacecast.rs#LLVM21: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J3)
  • [codegen] tests/codegen-llvm/gpu-launch-sized-workgroup-memory.rs#nvptx-post-llvm-23: ignore (ignored when the LLVM version 22.1.7 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.8 is older than 23.0.0) (J3)
  • [codegen] tests/codegen-llvm/issues/issue-118306.rs#LLVM23: ignore (ignored when the LLVM version 22.1.7 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.8 is older than 23.0.0) (J3)
  • [codegen] tests/codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs#old: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J3)
  • [codegen] tests/codegen-llvm/issues/issue-37945.rs#new: ignore (ignored when the LLVM version 22.1.7 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.8 is older than 23.0.0) (J3)
  • [codegen] tests/codegen-llvm/issues/matches-logical-or-141497.rs: ignore (ignored when the LLVM version 22.1.7 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.8 is older than 23.0.0) (J3)
  • [codegen] tests/codegen-llvm/pow_known_base.rs#LLVM23: ignore (ignored when the LLVM version 22.1.7 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.8 is older than 23.0.0) (J3)
  • [codegen] tests/codegen-llvm/scalable-vectors/debuginfo.rs#PRE-LLVM-22: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J3)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-gather.rs#LLVM21: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J3)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-masked-load.rs#LLVM21: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J3)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-masked-store.rs#LLVM21: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J3)
  • [codegen] tests/codegen-llvm/simd-intrinsic/simd-intrinsic-generic-scatter.rs#LLVM21: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J3)
  • [codegen] tests/codegen-llvm/vec_pop_push_noop.rs#old: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J3)
  • [codegen] tests/codegen-llvm/vecdeque_pop_push.rs#old: ignore (ignored when the LLVM version (22.1.7) is newer than majorversion 21) -> ignore (ignored when the LLVM version (22.1.8) is newer than majorversion 21) (J3)
  • [ui] tests/ui/const-generics/mgca/synth-gen-arg-ice-158152.rs: [missing] -> pass (J4)
  • [ui] tests/ui/delegation/generics/infer-defaults.rs: [missing] -> pass (J4)
  • [ui] tests/ui/macros/deref-raw-pointer-issue-158158.rs: [missing] -> pass (J4)
  • [pretty] tests/pretty/delegation-impl-reuse.rs: pass -> [missing] (J5)
  • [pretty] tests/pretty/delegation-inherit-attributes.rs: pass -> [missing] (J5)
  • [pretty] tests/pretty/delegation-inline-attribute.rs: pass -> [missing] (J5)
  • [pretty] tests/pretty/delegation-self-rename.rs: pass -> [missing] (J5)
  • [pretty] tests/pretty/delegation.rs: pass -> [missing] (J5)
  • [pretty] tests/pretty/delegation/delegation.rs: [missing] -> pass (J5)
  • [pretty] tests/pretty/delegation/generics.rs: [missing] -> pass (J5)
  • [pretty] tests/pretty/delegation/impl-reuse.rs: [missing] -> pass (J5)
  • [pretty] tests/pretty/delegation/inherit-attributes.rs: [missing] -> pass (J5)
  • [pretty] tests/pretty/delegation/inline-attribute.rs: [missing] -> pass (J5)
  • [pretty] tests/pretty/delegation/self-rename.rs: [missing] -> pass (J5)
  • [run-make] tests/run-make/compressed-debuginfo-zstd: pass -> ignore (ignored if LLVM wasn't build with zstd for ELF section compression or LLVM is not the default codegen backend) (J6)
  • [assembly] tests/assembly-llvm/fentry.rs#S390X: [missing] -> pass (J7)
  • [assembly] tests/assembly-llvm/fentry.rs#X86: [missing] -> pass (J7)
  • [codegen] tests/codegen-llvm/instrument-fentry.rs#s390x-linux: [missing] -> pass (J7)
  • [codegen] tests/codegen-llvm/instrument-fentry.rs#x86-linux: [missing] -> pass (J7)
  • [codegen] tests/codegen-llvm/instrument-fentry.rs#x86_64-linux: [missing] -> pass (J7)
  • [codegen] tests/codegen-llvm/instrument_fn.rs#FENTRY: [missing] -> pass (J7)
  • [assembly] tests/assembly-llvm/cmse-clear-padding.rs: [missing] -> ignore (ignored when the LLVM version 21.1.2 is older than 22.0.0) (J9)
  • [codegen] tests/codegen-llvm/issues/issue-107681-unwrap_unchecked.rs: pass -> ignore (ignored when the LLVM version 21.1.2 is older than 22.0.0) (J9)
  • [assembly] tests/assembly-llvm/carryless-mul.rs#aarch64: ignore (ignored when the LLVM version 22.1.7 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.8 is older than 23.0.0) (J10)
  • [assembly] tests/assembly-llvm/cmse-clear-padding.rs: [missing] -> pass (J14)
  • [codegen] tests/codegen-llvm/array-equality.rs#llvm-next: ignore (ignored when the LLVM version 22.1.7 is older than 23.0.0) -> ignore (ignored when the LLVM version 22.1.8 is older than 23.0.0) (J16)

Additionally, 2 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 40557f6225e337d68c8d4f086557ce54135f5dd9 --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. x86_64-gnu-gcc-core-tests: 11m 23s -> 25m 43s (+125.8%)
  2. x86_64-gnu-next-trait-solver-polonius: 40m 7s -> 1h 15m (+89.4%)
  3. x86_64-gnu: 1h 56m -> 3h 2m (+56.5%)
  4. pr-check-1: 29m 20s -> 44m 3s (+50.1%)
  5. x86_64-msvc-1: 1h 55m -> 2h 42m (+40.3%)
  6. x86_64-rust-for-linux: 48m 13s -> 1h 7m (+39.7%)
  7. pr-check-2: 37m 48s -> 50m 57s (+34.8%)
  8. dist-powerpc64-linux-musl: 1h 38m -> 1h 6m (-32.4%)
  9. x86_64-gnu-tools: 1h 1m -> 1h 20m (+30.3%)
  10. x86_64-gnu-gcc: 1h 10m -> 1h 30m (+27.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 (40557f6): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

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

Max RSS (memory usage)

Results (secondary -2.5%)

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

Cycles

Results (primary 0.7%)

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

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

Binary size

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

Bootstrap: 484.801s -> 482.935s (-0.38%)
Artifact size: 393.04 MiB -> 392.98 MiB (-0.01%)

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup 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.