Skip to content

[WIP] MIR move elimination pass#156046

Draft
Amanieu wants to merge 3 commits intorust-lang:mainfrom
Amanieu:move-elimination
Draft

[WIP] MIR move elimination pass#156046
Amanieu wants to merge 3 commits intorust-lang:mainfrom
Amanieu:move-elimination

Conversation

@Amanieu
Copy link
Copy Markdown
Member

@Amanieu Amanieu commented May 1, 2026

This is very much a work in progress, and currently will sometimes generate broken/unsound MIR.

Amanieu added 2 commits April 24, 2026 07:59
Specifically for `visit_block_start` and `visit_block_end` where it may
be useful to access the entry states of predecessor/successor blocks.
@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels May 1, 2026
@Amanieu
Copy link
Copy Markdown
Member Author

Amanieu commented May 1, 2026

@bors try @rust-timer queue

@rust-timer
Copy link
Copy Markdown
Collaborator

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

@rust-bors

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label May 1, 2026
rust-bors Bot pushed a commit that referenced this pull request May 1, 2026
@rust-log-analyzer

This comment has been minimized.

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 1, 2026

💔 Test for 884fdb2 failed: CI. Failed job:

@rust-log-analyzer

This comment has been minimized.

@Amanieu Amanieu force-pushed the move-elimination branch from 8a0479a to d431a34 Compare May 1, 2026 17:02
@Amanieu
Copy link
Copy Markdown
Member Author

Amanieu commented May 1, 2026

@bors try

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request May 1, 2026
@rust-log-analyzer
Copy link
Copy Markdown
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
##[endgroup]
Executing "/scripts/stage_2_test_set2.sh"
+ /scripts/stage_2_test_set2.sh
+ '[' 1 == 1 ']'
+ echo 'PR_CI_JOB set; skipping tidy'
+ SKIP_TIDY='--skip tidy'
+ ../x.py --stage 2 test --skip tidy --skip tests --skip coverage-map --skip coverage-run --skip library --skip tidyselftest
PR_CI_JOB set; skipping tidy
##[group]Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.04s
##[endgroup]
---
##[group]Testing stage2 rustc_codegen_cranelift (aarch64-unknown-linux-gnu)
   Compiling y v0.1.0 (/checkout/compiler/rustc_codegen_cranelift/build_system)
error: rustc interrupted by SIGSEGV, printing backtrace

/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xbaf5d4) [0xff9a641ef5d4]
linux-vdso.so.1(__kernel_rt_sigreturn+0x0) [0xff9a69ea8850]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(_RNvMs6_NtNtCs2zaY2IhDZ3t_12rustc_middle2ty9predicateNtB5_6Clause4kind+0x14) [0xff9a6790f288]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x18ffcac) [0xff9a64f3fcac]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x16dd594) [0xff9a64d1d594]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(_RNvMs2_NtCs8dhBbFQkkMs_18rustc_hir_analysis15hir_ty_loweringDNtB5_12HirTyLowererEL_8lower_ty+0x2b4) [0xff9a64d41d08]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(_RNvMs2_NtCs8dhBbFQkkMs_18rustc_hir_analysis15hir_ty_loweringDNtB5_12HirTyLowererEL_8lower_ty+0x618) [0xff9a64d4206c]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x18e4564) [0xff9a64f24564]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x31db25c) [0xff9a6681b25c]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2f3dc80) [0xff9a6657dc80]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2e5c288) [0xff9a6649c288]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x30f9444) [0xff9a66739444]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x1973bfc) [0xff9a64fb3bfc]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x17c27c8) [0xff9a64e027c8]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x30f1ae4) [0xff9a66731ae4]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2f3e04c) [0xff9a6657e04c]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2e69a44) [0xff9a664a9a44]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x31d9254) [0xff9a66819254]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x17c2178) [0xff9a64e02178]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2fd004c) [0xff9a6661004c]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2f3d88c) [0xff9a6657d88c]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2e4d554) [0xff9a6648d554]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x307d4b0) [0xff9a666bd4b0]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x1934bf8) [0xff9a64f74bf8]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2f7a754) [0xff9a665ba754]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2f3d918) [0xff9a6657d918]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2e4f2cc) [0xff9a6648f2cc]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x30e7788) [0xff9a66727788]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x379ad70) [0xff9a66ddad70]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(_RNvXs_NtNtCs6w6R1Ueg3bM_21rustc_trait_selection6traits2wfNtB4_12WfPredicatesINtNtCscqJq1ZdB2Kh_13rustc_type_ir5visit11TypeVisitorNtNtNtCs2zaY2IhDZ3t_12rustc_middle2ty7context6TyCtxtE8visit_ty+0xdd8) [0xff9a66ded114]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x379b744) [0xff9a66ddb744]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(_RNvNtNtCs6w6R1Ueg3bM_21rustc_trait_selection6traits2wf11obligations+0xe4) [0xff9a66ddf200]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(_RNvXs1_NtNtCs6w6R1Ueg3bM_21rustc_trait_selection6traits7fulfillNtB5_16FulfillProcessorNtNtCs1ZfZt0QYZop_21rustc_data_structures17obligation_forest19ObligationProcessor18process_obligation+0xc24) [0xff9a66e95958]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(_RINvMs0_NtCs1ZfZt0QYZop_21rustc_data_structures17obligation_forestINtB6_16ObligationForestNtNtNtCs6w6R1Ueg3bM_21rustc_trait_selection6traits7fulfill26PendingPredicateObligationE19process_obligationsNtB1s_16FulfillProcessorEB1w_+0x468) [0xff9a670666f4]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x3851860) [0xff9a66e91860]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x385f044) [0xff9a66e9f044]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x171e2e4) [0xff9a64d5e2e4]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x1859e70) [0xff9a64e99e70]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x18e4df0) [0xff9a64f24df0]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x31db25c) [0xff9a6681b25c]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2f3dc80) [0xff9a6657dc80]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2e5c288) [0xff9a6649c288]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x30f9444) [0xff9a66739444]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2ce2460) [0xff9a66322460]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2ce0ba0) [0xff9a66320ba0]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(_RNvCscFyvKbSAvxF_13rustc_privacy22effective_visibilities+0x458) [0xff9a6631f434]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2fd0c78) [0xff9a66610c78]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2f3e04c) [0xff9a6657e04c]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2e69a44) [0xff9a664a9a44]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x31d8010) [0xff9a66818010]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(_RNvNtCshf6r5HSiSio_12rustc_passes9stability28check_mod_unstable_api_usage+0x74) [0xff9a661411fc]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x3121e28) [0xff9a66761e28]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2f3ef98) [0xff9a6657ef98]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2e9c59c) [0xff9a664dc59c]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x30a78e0) [0xff9a666e78e0]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xdc71d4) [0xff9a644071d4]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xdc04a4) [0xff9a644004a4]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xe29ddc) [0xff9a64469ddc]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xdb0f24) [0xff9a643f0f24]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(_RNvNtNtCs1ZfZt0QYZop_21rustc_data_structures4sync8parallel7par_fns+0xa4) [0xff9a68082174]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xda1a20) [0xff9a643e1a20]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(_RNvNtCsfwrDuFMSJEs_15rustc_interface6passes8analysis+0x94) [0xff9a64427188]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x31ab91c) [0xff9a667eb91c]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2f3dd7c) [0xff9a6657dd7c]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x2e5fc0c) [0xff9a6649fc0c]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x31493f8) [0xff9a667893f8]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xb8824c) [0xff9a641c824c]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xb7aa14) [0xff9a641baa14]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xb49f9c) [0xff9a64189f9c]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xbfeff8) [0xff9a6423eff8]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xb88e40) [0xff9a641c8e40]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xb77208) [0xff9a641b7208]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xb6c8bc) [0xff9a641ac8bc]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xb7a5c0) [0xff9a641ba5c0]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xb741d8) [0xff9a641b41d8]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xb8906c) [0xff9a641c906c]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0xb77adc) [0xff9a641b7adc]
/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/lib/librustc_driver-0838041939d91970.so(+0x4ae3024) [0xff9a68123024]
/lib/aarch64-linux-gnu/libc.so.6(+0x8b9f4) [0xff9a634cb9f4]
/lib/aarch64-linux-gnu/libc.so.6(+0xf700c) [0xff9a6353700c]

note: we would appreciate a report at https://github.com/rust-lang/rust
help: you can increase rustc's stack size by setting RUST_MIN_STACK=16777216
note: backtrace dumped due to SIGSEGV! resuming signal
[RUSTC-TIMING] y test:false 0.304
rustc exited with signal: 11 (SIGSEGV) (core dumped)
error: could not compile `y` (bin "y")

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc /checkout/obj/build/bootstrap/debug/rustc --crate-name y --edition=2021 compiler/rustc_codegen_cranelift/build_system/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C debug-assertions=on --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("unstable-features"))' -C metadata=3a23b240947f77f5 -C extra-filename=-190303348328a048 --out-dir /checkout/obj/build/aarch64-unknown-linux-gnu/stage3-codegen/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -L dependency=/checkout/obj/build/aarch64-unknown-linux-gnu/stage3-codegen/aarch64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/aarch64-unknown-linux-gnu/stage3-codegen/release/deps -Zannotate-moves -Zrandomize-layout -Zunstable-options '--check-cfg=cfg(bootstrap)' -Zmacro-backtrace -Csplit-debuginfo=off -Clink-arg=-L/usr/lib/llvm-21/lib -Cllvm-args=-import-instr-limit=10 -Clink-args=-Wl,-z,origin '-Clink-args=-Wl,-rpath,$ORIGIN/../lib' -Z binary-dep-depinfo` (exit status: 254)
Command `/checkout/obj/build/aarch64-unknown-linux-gnu/stage0/bin/cargo run -Zwarnings --target aarch64-unknown-linux-gnu -Zbinary-dep-depinfo -j 4 -Zroot-dir=/checkout --locked --color=always --profile=release --manifest-path /checkout/compiler/rustc_codegen_cranelift/build_system/Cargo.toml -- test --download-dir /checkout/obj/build/cg_clif_download --out-dir /checkout/obj/build/aarch64-unknown-linux-gnu/stage2-codegen/cg_clif --no-unstable-features --use-backend cranelift --sysroot llvm --skip-test testsuite.extended_sysroot [workdir=/checkout/compiler/rustc_codegen_cranelift]` failed with exit code 101
Created at: src/bootstrap/src/core/build_steps/test.rs:3955:25
Executed at: src/bootstrap/src/core/build_steps/test.rs:4000:26

--- BACKTRACE vvv
   0: std::backtrace_rs::backtrace::libunwind::trace
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
   1: std::backtrace_rs::backtrace::trace_unsynchronized::<<std::backtrace::Backtrace>::create::{closure#0}>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
   2: <std::backtrace::Backtrace>::create
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/backtrace.rs:331:13
   3: <bootstrap::utils::exec::DeferredCommand>::finish_process
             at /checkout/src/bootstrap/src/utils/exec.rs:939:17
   4: <bootstrap::utils::exec::DeferredCommand>::wait_for_output::<&bootstrap::utils::exec::ExecutionContext>
             at /checkout/src/bootstrap/src/utils/exec.rs:831:21
   5: <bootstrap::utils::exec::ExecutionContext>::run
             at /checkout/src/bootstrap/src/utils/exec.rs:741:45
   6: <bootstrap::utils::exec::BootstrapCommand>::run::<&bootstrap::core::builder::Builder>
             at /checkout/src/bootstrap/src/utils/exec.rs:339:27
   7: <bootstrap::core::build_steps::test::CodegenCranelift as bootstrap::core::builder::Step>::run
             at /checkout/src/bootstrap/src/core/build_steps/test.rs:4000:26
   8: <bootstrap::core::builder::Builder>::ensure::<bootstrap::core::build_steps::test::CodegenCranelift>
             at /checkout/src/bootstrap/src/core/builder/mod.rs:1579:36
   9: <bootstrap::core::build_steps::test::CodegenCranelift as bootstrap::core::builder::Step>::make_run
             at /checkout/src/bootstrap/src/core/build_steps/test.rs:3941:17
  10: <bootstrap::core::builder::StepDescription>::maybe_run
             at /checkout/src/bootstrap/src/core/builder/mod.rs:476:13
  11: bootstrap::core::builder::cli_paths::match_paths_to_steps_and_run
             at /checkout/src/bootstrap/src/core/builder/cli_paths.rs:141:22
  12: <bootstrap::core::builder::Builder>::run_step_descriptions
             at /checkout/src/bootstrap/src/core/builder/mod.rs:1122:9
  13: <bootstrap::core::builder::Builder>::execute_cli
             at /checkout/src/bootstrap/src/core/builder/mod.rs:1101:14
  14: <bootstrap::Build>::build
             at /checkout/src/bootstrap/src/lib.rs:803:25
  15: bootstrap::main
             at /checkout/src/bootstrap/src/bin/main.rs:130:11
  16: <fn() as core::ops::function::FnOnce<()>>::call_once
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/core/src/ops/function.rs:250:5
  17: std::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/sys/backtrace.rs:166:18
  18: std::rt::lang_start::<()>::{closure#0}
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/rt.rs:206:18
  19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/core/src/ops/function.rs:287:21
  20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:581:40
  21: std::panicking::catch_unwind::<i32, &dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:544:19
  22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panic.rs:359:14
  23: std::rt::lang_start_internal::{closure#0}
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/rt.rs:175:24
  24: std::panicking::catch_unwind::do_call::<std::rt::lang_start_internal::{closure#0}, isize>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:581:40
---
  31: __libc_start_main
  32: _start


Command has failed. Rerun with -v to see more details.
Bootstrap failed while executing `--stage 2 test --skip tidy --skip tests --skip coverage-map --skip coverage-run --skip library --skip tidyselftest`
Build completed unsuccessfully in 0:25:38
  local time: Fri May  1 17:33:05 UTC 2026
  network time: Fri, 01 May 2026 17:33:05 GMT
##[error]Process completed with exit code 1.

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 1, 2026

💔 Test for b42852b failed: CI. Failed job:

@rust-log-analyzer
Copy link
Copy Markdown
Collaborator

The job dist-x86_64-linux-quick failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
c1e54eec4b57: Pull complete
Digest: sha256:b733d4a32c4da6a00a84df2ca32791bb03df95400243648d8c539e7b4cce329c
Status: Downloaded newer image for ghcr.io/rust-lang/alpine:3.4
6807eb7b55973abd94aab454befda6a83f3f74569a21520697fdc8e0779406a2
[CI_JOB_NAME=dist-x86_64-linux-quick]
debug: `DISABLE_CI_RUSTC_IF_INCOMPATIBLE` configured.
---
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.48s
##[endgroup]
[2026-05-01T17:21:42.689Z INFO  opt_dist::timer] Section `Stage 1 (Rustc PGO)` starts
[2026-05-01T17:21:42.689Z INFO  opt_dist::timer] Section `Stage 1 (Rustc PGO) > Build PGO instrumented rustc and LLVM` starts
[2026-05-01T17:21:42.689Z INFO  opt_dist::exec] Executing `RUST_BACKTRACE=full python3 /checkout/x.py build --target x86_64-unknown-linux-gnu --host x86_64-unknown-linux-gnu --stage 2 library/std --set rust.llvm-bitcode-linker=false --set build.extended=false --set rust.codegen-backends=['llvm'] --set rust.deny-warnings=false --rust-profile-generate /tmp/tmp-multistage/opt-artifacts/rustc-pgo --set llvm.thin-lto=false --set llvm.link-shared=true [at /checkout/obj]`
##[group]Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.06s
##[endgroup]
[TIMING:start] compile::Assemble { target_compiler: Compiler { stage: 2, host: x86_64-unknown-linux-gnu, forced_compiler: false } }
[TIMING:start] builder::Libdir { compiler: Compiler { stage: 2, host: x86_64-unknown-linux-gnu, forced_compiler: false }, target: x86_64-unknown-linux-gnu }
---
Executing benchmark bitmaps-3.2.1 (1/9)
Preparing bitmaps-3.2.1
Running bitmaps-3.2.1: Check + [Full, IncrFull, IncrUnchanged, IncrPatched] + Llvm + X86_64UnknownLinuxGnu
Finished benchmark bitmaps-3.2.1 (1/9)
collector error: Failed to profile 'bitmaps-3.2.1' with Eprintln, recorded: expected success, got exit status: 101

stderr=    Checking bitmaps v3.2.1 (/tmp/.tmppm69uh)

thread 'main' (19126) panicked at collector/src/bin/rustc-fake.rs:368:21:
command did not complete successfully: RUSTC_FORCE_INCR_COMP_ARTIFACT_HEADER="rustc-perf" RUSTC_FORCE_RUSTC_VERSION="rustc-perf" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--crate-name" "bitmaps" "--edition=2021" "src/lib.rs" "--error-format=json" "--json=diagnostic-rendered-ansi,artifacts,future-incompat" "--crate-type" "lib" "--emit=dep-info,metadata" "-C" "embed-bitcode=no" "-C" "debuginfo=2" "--cfg" "feature=\"default\"" "--cfg" "feature=\"std\"" "--check-cfg" "cfg(docsrs,test)" "--check-cfg" "cfg(feature, values(\"default\", \"std\"))" "-C" "metadata=9792cd899ee28433" "-C" "extra-filename=-1bf57ce5a6b175e4" "--out-dir" "/tmp/.tmppm69uh/target/debug/deps" "-C" "linker=clang" "-L" "dependency=/tmp/.tmppm69uh/target/debug/deps" "-Adeprecated" "-Aunknown-lints" "-Zincremental-verify-ich"
stderr:
error: hidden lifetime parameters in types are deprecated
  |
note: the lint level is defined here
 --> src/lib.rs:5:11
  |
5 | #![forbid(rust_2018_idioms)]
  |           ^^^^^^^^^^^^^^^^
  = note: `#[forbid(elided_lifetimes_in_paths)]` implied by `#[forbid(rust_2018_idioms)]`
help: indicate the anonymous lifetime
  |
1 | <'_>// This Source Code Form is subject to the terms of the Mozilla Public
  | ++++


thread 'rustc' (19129) panicked at /rust/deps/indexmap-2.14.0/src/inner.rs:46:35:
index out of bounds: the len is 1 but the index is 0
stack backtrace:
   0: __rustc::rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic_bounds_check
   3: <indexmap::map::IndexMap<rustc_middle::ty::region::Region, (), rustc_hash::FxBuildHasher>>::insert_full
   4: <rustc_data_structures::transitive_relation::TransitiveRelationBuilder<rustc_middle::ty::region::Region>>::add
---

Stack backtrace:
   0: <anyhow::Error>::msg::<alloc::string::String>
             at /rust/deps/anyhow-1.0.100/src/backtrace.rs:27:14
   1: <opt_dist::exec::CmdBuilder>::run
             at /rustc/b42852b36d1d4e6ec7812db527b1dda6e0b540c9/src/tools/opt-dist/src/exec.rs:80:17
   2: opt_dist::training::gather_rustc_profiles::{closure#0}
             at /rustc/b42852b36d1d4e6ec7812db527b1dda6e0b540c9/src/tools/opt-dist/src/training.rs:158:14
   3: opt_dist::utils::with_log_group::<opt_dist::training::gather_rustc_profiles::{closure#0}, core::result::Result<(), anyhow::Error>>
             at /rustc/b42852b36d1d4e6ec7812db527b1dda6e0b540c9/src/tools/opt-dist/src/utils/mod.rs:68:22
   4: opt_dist::training::gather_rustc_profiles
             at /rustc/b42852b36d1d4e6ec7812db527b1dda6e0b540c9/src/tools/opt-dist/src/training.rs:155:5
   5: opt_dist::execute_pipeline::{closure#1}::{closure#1}
             at /rustc/b42852b36d1d4e6ec7812db527b1dda6e0b540c9/src/tools/opt-dist/src/main.rs:260:45
   6: <opt_dist::timer::TimerSection>::section::<opt_dist::execute_pipeline::{closure#1}::{closure#1}, opt_dist::training::RustcPGOProfile>
             at /rustc/b42852b36d1d4e6ec7812db527b1dda6e0b540c9/src/tools/opt-dist/src/timer.rs:111:22
   7: opt_dist::execute_pipeline::{closure#1}
             at /rustc/b42852b36d1d4e6ec7812db527b1dda6e0b540c9/src/tools/opt-dist/src/main.rs:260:14
   8: <opt_dist::timer::TimerSection>::section::<opt_dist::execute_pipeline::{closure#1}, opt_dist::training::RustcPGOProfile>
             at /rustc/b42852b36d1d4e6ec7812db527b1dda6e0b540c9/src/tools/opt-dist/src/timer.rs:111:22
   9: opt_dist::execute_pipeline
             at /rustc/b42852b36d1d4e6ec7812db527b1dda6e0b540c9/src/tools/opt-dist/src/main.rs:242:35
  10: opt_dist::main
             at /rustc/b42852b36d1d4e6ec7812db527b1dda6e0b540c9/src/tools/opt-dist/src/main.rs:469:18
  11: <fn() -> core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/core/src/ops/function.rs:250:5
  12: std::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/sys/backtrace.rs:166:18
  13: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>::{closure#0}
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/rt.rs:206:18
  14: <&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe as core::ops::function::FnOnce<()>>::call_once
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/core/src/ops/function.rs:287:21
  15: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe, i32>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:581:40
  16: std::panicking::catch_unwind::<i32, &dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:544:19
  17: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe, i32>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panic.rs:359:14
  18: std::rt::lang_start_internal::{closure#0}
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/rt.rs:175:24
  19: std::panicking::catch_unwind::do_call::<std::rt::lang_start_internal::{closure#0}, isize>
             at /rustc/ef0fb8a2563200e322fa4419f09f65a63742038c/library/std/src/panicking.rs:581:40

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

Labels

S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. S-waiting-on-perf Status: Waiting on a perf run to be completed. 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.

4 participants