rust-lang / rustc_codegen_cranelift

Cranelift based backend for rustc
Apache License 2.0
1.59k stars 100 forks source link

ICE: unimplemented CCmseNonSecureCall #1327

Closed matthiaskrgr closed 1 year ago

matthiaskrgr commented 1 year ago

src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs

// build-pass
// compile-flags: --target thumbv8m.main-none-eabi --crate-type lib
// needs-llvm-components: arm
#![feature(abi_c_cmse_nonsecure_call, no_core, lang_items, intrinsics)]
#![no_core]
#[lang="sized"]
pub trait Sized { }
#[lang="copy"]
pub trait Copy { }
impl Copy for u32 {}

extern "rust-intrinsic" {
    pub fn transmute<T, U>(e: T) -> U;
}

#[no_mangle]
pub fn test(a: u32, b: u32, c: u32, d: u32) -> u32 {
    let non_secure_function = unsafe {
        transmute::<usize, extern "C-cmse-nonsecure-call" fn(u32, u32, u32, u32) -> u32>(
            0x10000004,
        )
    };
    non_secure_function(a, b, c, d)
}
ype lib
thread 'rustc' panicked at 'not yet implemented: CCmseNonSecureCall', src/abi/mod.rs:53:44
stack backtrace:
   0:     0x7fc2c9b6a3a4 - std::backtrace_rs::backtrace::libunwind::trace::h4c97bf25d2e51ae8
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7fc2c9b6a3a4 - std::backtrace_rs::backtrace::trace_unsynchronized::h37aa0c666953359e
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fc2c9b6a3a4 - std::sys_common::backtrace::_print_fmt::hda9969f991ffe421
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7fc2c9b6a3a4 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h43dbafa239606d9e
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7fc2c9be49b8 - core::fmt::write::hd8b1d49ea978e1a7
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/fmt/mod.rs:1208:17
   5:     0x7fc2c9b36c9f - std::io::Write::write_fmt::h910d70db5835b5b3
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/io/mod.rs:1682:15
   6:     0x7fc2c9b6a1a5 - std::sys_common::backtrace::_print::hba0af3cc8e4f9e16
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7fc2c9b6a1a5 - std::sys_common::backtrace::print::hcb425016d7f50579
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7fc2c9b48cb4 - std::panicking::default_hook::{{closure}}::h5a92231480ffed71
   9:     0x7fc2c9b489c2 - std::panicking::default_hook::h6128a4fdcff47458
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:286:9
  10:     0x7fc2cb73b2d2 - <alloc[8442e47aebcde8b2]::boxed::Box<dyn for<'a, 'b> core[a28e3aee1dd4a69e]::ops::function::Fn<(&'a core[a28e3aee1dd4a69e]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[a28e3aee1dd4a69e]::marker::Sync + core[a28e3aee1dd4a69e]::marker::Send> as core[a28e3aee1dd4a69e]::ops::function::Fn<(&core[a28e3aee1dd4a69e]::panic::panic_info::PanicInfo,)>>::call
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2032:9
  11:     0x7fc2cb73b2d2 - rustc_driver[3e78653f339d986d]::DEFAULT_HOOK::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_driver/src/lib.rs:1202:13
  12:     0x7fc2c9b49417 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haf9ff6e68c2e05a7
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2032:9
  13:     0x7fc2c9b49417 - std::panicking::rust_panic_with_hook::h0207dd496e646917
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:692:13
  14:     0x7fc2c9b6a739 - std::panicking::begin_panic_handler::{{closure}}::h4f3167dde486c20a
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:579:13
  15:     0x7fc2c9b6a4ee - std::sys_common::backtrace::__rust_end_short_backtrace::h5667162f671b6d90
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:137:18
  16:     0x7fc2c9b48ef2 - rust_begin_unwind
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:575:5
  17:     0x7fc2c9be9083 - core::panicking::panic_fmt::h90dee617596c399d
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:64:14
  18:     0x7fc2c352796f - rustc_codegen_cranelift[e80a840dcfedcc0]::abi::conv_to_call_conv
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/abi/mod.rs:53:44
  19:     0x7fc2c352796f - rustc_codegen_cranelift[e80a840dcfedcc0]::abi::clif_sig_from_fn_abi
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/abi/mod.rs:25:21
  20:     0x7fc2c352a74b - rustc_codegen_cranelift[e80a840dcfedcc0]::abi::codegen_terminator_call
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/abi/mod.rs:494:23
  21:     0x7fc2c3498b47 - rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn_body::{closure#2}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/base.rs:434:21
  22:     0x7fc2c3498b47 - <rustc_data_structures[e855f16069d18ad7]::profiling::VerboseTimingGuard>::run::<(), rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn_body::{closure#2}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/profiling.rs:726:9
  23:     0x7fc2c3498b47 - <rustc_session[bd0fec20e3e30607]::session::Session>::time::<(), rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn_body::{closure#2}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_session/src/utils.rs:10:9
  24:     0x7fc2c35612b8 - rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn_body
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/base.rs:433:17
  25:     0x7fc2c355f077 - rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn::{closure#2}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/base.rs:116:41
  26:     0x7fc2c355f077 - <rustc_data_structures[e855f16069d18ad7]::profiling::VerboseTimingGuard>::run::<(), rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn::{closure#2}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/profiling.rs:726:9
  27:     0x7fc2c355f077 - <rustc_session[bd0fec20e3e30607]::session::Session>::time::<(), rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn::{closure#2}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_session/src/utils.rs:10:9
  28:     0x7fc2c355f077 - rustc_codegen_cranelift[e80a840dcfedcc0]::base::codegen_fn
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/base.rs:116:5
  29:     0x7fc2c3497e29 - rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::module_codegen::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/driver/aot.rs:294:50
  30:     0x7fc2c3497e29 - <rustc_data_structures[e855f16069d18ad7]::profiling::VerboseTimingGuard>::run::<(), rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::module_codegen::{closure#0}::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/profiling.rs:726:9
  31:     0x7fc2c3497e29 - <rustc_session[bd0fec20e3e30607]::session::Session>::time::<(), rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::module_codegen::{closure#0}::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_session/src/utils.rs:10:9
  32:     0x7fc2c3497e29 - rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::module_codegen::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/driver/aot.rs:293:21
  33:     0x7fc2c3497e29 - <rustc_data_structures[e855f16069d18ad7]::profiling::VerboseTimingGuard>::run::<(alloc[8442e47aebcde8b2]::string::String, rustc_codegen_cranelift[e80a840dcfedcc0]::CodegenCx, cranelift_object[c5896af7f33dfa77]::backend::ObjectModule, alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::base::CodegenedFunction>), rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::module_codegen::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/profiling.rs:726:9
  34:     0x7fc2c3497e29 - <rustc_session[bd0fec20e3e30607]::session::Session>::time::<(alloc[8442e47aebcde8b2]::string::String, rustc_codegen_cranelift[e80a840dcfedcc0]::CodegenCx, cranelift_object[c5896af7f33dfa77]::backend::ObjectModule, alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::base::CodegenedFunction>), rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::module_codegen::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_session/src/utils.rs:10:9
  35:     0x7fc2c3580069 - rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::module_codegen
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/driver/aot.rs:275:63
  36:     0x7fc2c34e41a6 - <rustc_query_system[ac6d26d16f7ebea6]::dep_graph::graph::DepGraph<rustc_middle[e9b4372b5e8bc47d]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[e9b4372b5e8bc47d]::ty::context::TyCtxt, (rustc_codegen_cranelift[e80a840dcfedcc0]::config::BackendConfig, alloc[8442e47aebcde8b2]::sync::Arc<rustc_codegen_cranelift[e80a840dcfedcc0]::global_asm::GlobalAsmConfig>, rustc_span[8293014313a13715]::symbol::Symbol, rustc_codegen_cranelift[e80a840dcfedcc0]::concurrency_limiter::ConcurrencyLimiterToken), rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/dep_graph/graph.rs:296:14
  37:     0x7fc2c34fb2cd - rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/driver/aot.rs:391:25
  38:     0x7fc2c34fb2cd - core[a28e3aee1dd4a69e]::iter::adapters::map::map_fold::<&rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, (), rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::iter::traits::iterator::Iterator::for_each::call<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>>::extend_trusted<core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>::{closure#0}>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/adapters/map.rs:84:28
  39:     0x7fc2c34fb2cd - <core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit> as core[a28e3aee1dd4a69e]::iter::traits::iterator::Iterator>::fold::<(), core[a28e3aee1dd4a69e]::iter::adapters::map::map_fold<&rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, (), rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::iter::traits::iterator::Iterator::for_each::call<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>>::extend_trusted<core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>::{closure#0}>::{closure#0}>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:2415:21
  40:     0x7fc2c34fb2cd - <core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}> as core[a28e3aee1dd4a69e]::iter::traits::iterator::Iterator>::fold::<(), core[a28e3aee1dd4a69e]::iter::traits::iterator::Iterator::for_each::call<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>>::extend_trusted<core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>::{closure#0}>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/adapters/map.rs:124:9
  41:     0x7fc2c34c3ecc - <core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}> as core[a28e3aee1dd4a69e]::iter::traits::iterator::Iterator>::for_each::<<alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>>::extend_trusted<core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:831:9
  42:     0x7fc2c34c3ecc - <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>>::extend_trusted::<core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/vec/mod.rs:2880:17
  43:     0x7fc2c34c3ecc - <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen> as alloc[8442e47aebcde8b2]::vec::spec_extend::SpecExtend<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>>::spec_extend
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/vec/spec_extend.rs:26:9
  44:     0x7fc2c34c3ecc - <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen> as alloc[8442e47aebcde8b2]::vec::spec_from_iter_nested::SpecFromIterNested<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>>::from_iter
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/vec/spec_from_iter_nested.rs:62:9
  45:     0x7fc2c34c3ecc - <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen> as alloc[8442e47aebcde8b2]::vec::spec_from_iter::SpecFromIter<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen, core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>>::from_iter
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/vec/spec_from_iter.rs:33:9
  46:     0x7fc2c350580e - <alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen> as core[a28e3aee1dd4a69e]::iter::traits::collect::FromIterator<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>>::from_iter::<core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/vec/mod.rs:2748:9
  47:     0x7fc2c350580e - <core[a28e3aee1dd4a69e]::iter::adapters::map::Map<core[a28e3aee1dd4a69e]::slice::iter::Iter<rustc_middle[e9b4372b5e8bc47d]::mir::mono::CodegenUnit>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}::{closure#0}> as core[a28e3aee1dd4a69e]::iter::traits::iterator::Iterator>::collect::<alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/traits/iterator.rs:1837:9
  48:     0x7fc2c350580e - rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/driver/aot.rs:379:9
  49:     0x7fc2c350580e - <rustc_data_structures[e855f16069d18ad7]::profiling::VerboseTimingGuard>::run::<alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/profiling.rs:726:9
  50:     0x7fc2c350580e - <rustc_session[bd0fec20e3e30607]::session::Session>::time::<alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_session/src/utils.rs:10:9
  51:     0x7fc2c350580e - rustc_codegen_cranelift[e80a840dcfedcc0]::driver::time::<alloc[8442e47aebcde8b2]::vec::Vec<rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::OngoingModuleCodegen>, rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/driver/mod.rs:53:9
  52:     0x7fc2c35890bf - rustc_codegen_cranelift[e80a840dcfedcc0]::driver::aot::run_aot
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/driver/aot.rs:378:19
  53:     0x7fc2c35890bf - <rustc_codegen_cranelift[e80a840dcfedcc0]::CraneliftCodegenBackend as rustc_codegen_ssa[4d2a5970bef1319e]::traits::backend::CodegenBackend>::codegen_crate
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_codegen_cranelift/src/lib.rs:205:33
  54:     0x7fc2cb96124a - rustc_interface[fc7473b58ef44fbd]::passes::start_codegen::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/passes.rs:989:9
  55:     0x7fc2cb96124a - <rustc_data_structures[e855f16069d18ad7]::profiling::VerboseTimingGuard>::run::<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_interface[fc7473b58ef44fbd]::passes::start_codegen::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/profiling.rs:726:9
  56:     0x7fc2cb96124a - <rustc_session[bd0fec20e3e30607]::session::Session>::time::<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_interface[fc7473b58ef44fbd]::passes::start_codegen::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_session/src/utils.rs:10:9
  57:     0x7fc2cb96124a - rustc_interface[fc7473b58ef44fbd]::passes::start_codegen
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/passes.rs:988:19
  58:     0x7fc2cb9600eb - <rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/queries.rs:253:20
  59:     0x7fc2cb9600eb - <rustc_interface[fc7473b58ef44fbd]::passes::QueryContext>::enter::<<rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/passes.rs:765:42
  60:     0x7fc2cb9600eb - rustc_middle[e9b4372b5e8bc47d]::ty::context::tls::enter_context::<<rustc_interface[fc7473b58ef44fbd]::passes::QueryContext>::enter<<rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1980:50
  61:     0x7fc2cb9600eb - rustc_middle[e9b4372b5e8bc47d]::ty::context::tls::set_tlv::<rustc_middle[e9b4372b5e8bc47d]::ty::context::tls::enter_context<<rustc_interface[fc7473b58ef44fbd]::passes::QueryContext>::enter<<rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1964:9
  62:     0x7fc2cb9600eb - rustc_middle[e9b4372b5e8bc47d]::ty::context::tls::enter_context::<<rustc_interface[fc7473b58ef44fbd]::passes::QueryContext>::enter<<rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1980:9
  63:     0x7fc2cb9600eb - <rustc_interface[fc7473b58ef44fbd]::passes::QueryContext>::enter::<<rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/passes.rs:765:9
  64:     0x7fc2cb9f4fea - <rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/queries.rs:240:13
  65:     0x7fc2cb9f4fea - <core[a28e3aee1dd4a69e]::option::Option<core[a28e3aee1dd4a69e]::result::Result<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>>::get_or_insert_with::<<rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/option.rs:1590:49
  66:     0x7fc2cb9f4fea - <rustc_interface[fc7473b58ef44fbd]::queries::Query<alloc[8442e47aebcde8b2]::boxed::Box<dyn core[a28e3aee1dd4a69e]::any::Any>>>::compute::<<rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/queries.rs:38:9
  67:     0x7fc2cb9f4fea - <rustc_interface[fc7473b58ef44fbd]::queries::Queries>::ongoing_codegen
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/queries.rs:239:9
  68:     0x7fc2cb7cbb83 - rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}::{closure#2}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_driver/src/lib.rs:395:13
  69:     0x7fc2cb7cbb83 - <rustc_interface[fc7473b58ef44fbd]::interface::Compiler>::enter::<rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}::{closure#2}, core[a28e3aee1dd4a69e]::result::Result<core[a28e3aee1dd4a69e]::option::Option<rustc_interface[fc7473b58ef44fbd]::queries::Linker>, rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/queries.rs:380:19
  70:     0x7fc2cb73cf52 - rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_driver/src/lib.rs:306:22
  71:     0x7fc2cb73cf52 - rustc_interface[fc7473b58ef44fbd]::interface::run_compiler::<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/interface.rs:327:21
  72:     0x7fc2cb73cf52 - rustc_span[8293014313a13715]::with_source_map::<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_span/src/lib.rs:1016:5
  73:     0x7fc2cb7bad9f - rustc_interface[fc7473b58ef44fbd]::interface::run_compiler::<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/interface.rs:321:13
  74:     0x7fc2cb7bad9f - <scoped_tls[b7a439aa38053655]::ScopedKey<rustc_span[8293014313a13715]::SessionGlobals>>::set::<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137:9
  75:     0x7fc2cb76b5c0 - rustc_span[8293014313a13715]::create_session_globals_then::<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_span/src/lib.rs:111:5
  76:     0x7fc2cb76b5c0 - rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals::<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_interface/src/util.rs:145:38
  77:     0x7fc2cb76b5c0 - std[898f9bf6a8d0f504]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:121:18
  78:     0x7fc2cb753d11 - <std[898f9bf6a8d0f504]::thread::Builder>::spawn_unchecked_::<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#1}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/mod.rs:550:17
  79:     0x7fc2cb753d11 - <core[a28e3aee1dd4a69e]::panic::unwind_safe::AssertUnwindSafe<<std[898f9bf6a8d0f504]::thread::Builder>::spawn_unchecked_<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#1}::{closure#0}> as core[a28e3aee1dd4a69e]::ops::function::FnOnce<()>>::call_once
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panic/unwind_safe.rs:271:9
  80:     0x7fc2cb753d11 - std[898f9bf6a8d0f504]::panicking::try::do_call::<core[a28e3aee1dd4a69e]::panic::unwind_safe::AssertUnwindSafe<<std[898f9bf6a8d0f504]::thread::Builder>::spawn_unchecked_<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#1}::{closure#0}>, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:483:40
  81:     0x7fc2cb753d11 - std[898f9bf6a8d0f504]::panicking::try::<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, core[a28e3aee1dd4a69e]::panic::unwind_safe::AssertUnwindSafe<<std[898f9bf6a8d0f504]::thread::Builder>::spawn_unchecked_<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#1}::{closure#0}>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:447:19
  82:     0x7fc2cb753d11 - std[898f9bf6a8d0f504]::panic::catch_unwind::<core[a28e3aee1dd4a69e]::panic::unwind_safe::AssertUnwindSafe<<std[898f9bf6a8d0f504]::thread::Builder>::spawn_unchecked_<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#1}::{closure#0}>, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panic.rs:137:14
  83:     0x7fc2cb753d11 - <std[898f9bf6a8d0f504]::thread::Builder>::spawn_unchecked_::<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#1}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/mod.rs:549:30
  84:     0x7fc2cb753d11 - <<std[898f9bf6a8d0f504]::thread::Builder>::spawn_unchecked_<rustc_interface[fc7473b58ef44fbd]::util::run_in_thread_pool_with_globals<rustc_interface[fc7473b58ef44fbd]::interface::run_compiler<core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>, rustc_driver[3e78653f339d986d]::run_compiler::{closure#1}>::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[a28e3aee1dd4a69e]::result::Result<(), rustc_errors[cecb0e7535209709]::ErrorGuaranteed>>::{closure#1} as core[a28e3aee1dd4a69e]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/ops/function.rs:507:5
  85:     0x7fc2c9b25a48 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hbd90f1d7134662bc
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2000:9
  86:     0x7fc2c9b25a48 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h1ec077bbd6166474
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:2000:9
  87:     0x7fc2c9b143b5 - std::sys::unix::thread::Thread::new::thread_start::h357b5324080a198e
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys/unix/thread.rs:108:17
  88:     0x7fc2c9c9f8fd - <unknown>
  89:     0x7fc2c9d21a60 - <unknown>
  90:                0x0 - <unknown>

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.68.0-dev running on x86_64-unknown-linux-gnu

note: compiler flags: -Z codegen-backend=cranelift --crate-type lib

query stack during panic:
end of query stack
fn test(_1: u32, _2: u32, _3: u32, _4: u32) -> u32 {
    debug a => _1;                       // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:17:13: 17:14
    debug b => _2;                       // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:17:21: 17:22
    debug c => _3;                       // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:17:29: 17:30
    debug d => _4;                       // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:17:37: 17:38
    let mut _0: u32;                     // return place in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:17:48: 17:51
    let _5: extern "C-cmse-nonsecure-call" fn(u32, u32, u32, u32) -> u32; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:18:9: 18:28
    let mut _6: extern "C-cmse-nonsecure-call" fn(u32, u32, u32, u32) -> u32; // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:23:5: 23:24
    let mut _7: u32;                     // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:23:25: 23:26
    let mut _8: u32;                     // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:23:28: 23:29
    let mut _9: u32;                     // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:23:31: 23:32
    let mut _10: u32;                    // in scope 0 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:23:34: 23:35
    scope 1 {
        debug non_secure_function => _5; // in scope 1 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:18:9: 18:28
    }
    scope 2 {
    }

    bb0: {
        _5 = transmute::<usize, extern "C-cmse-nonsecure-call" fn(u32, u32, u32, u32) -> u32>(const 268435460_usize) -> bb1; // scope 2 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:19:9: 21:10
                                         // mir::Constant
                                         // + span: /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:19:9: 19:89
                                         // + literal: Const { ty: unsafe extern "rust-intrinsic" fn(usize) -> extern "C-cmse-nonsecure-call" fn(u32, u32, u32, u32) -> u32 {transmute::<usize, extern "C-cmse-nonsecure-call" fn(u32, u32, u32, u32) -> u32>}, val: Value(<ZST>) }
    }

    bb1: {
        _6 = _5;                         // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:23:5: 23:24
        _7 = _1;                         // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:23:25: 23:26
        _8 = _2;                         // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:23:28: 23:29
        _9 = _3;                         // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:23:31: 23:32
        _10 = _4;                        // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:23:34: 23:35
        _0 = move _6(move _7, move _8, move _9, move _10) -> bb2; // scope 1 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:23:5: 23:36
    }

    bb2: {
        return;                          // scope 0 at /home/matthias/vcs/github/rust/src/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-on-registers.rs:24:2: 24:2
    }
}
bjorn3 commented 1 year ago

Fixed in 8b478012086f4df5c21e4ec0016631fac163133f