diff options
| author | Folkert de Vries <folkert@folkertdev.nl> | 2025-07-02 10:46:15 +0200 |
|---|---|---|
| committer | Folkert de Vries <folkert@folkertdev.nl> | 2025-07-16 21:38:58 +0200 |
| commit | ec0ff720d1a89cb51edd90116c6e70051affa95f (patch) | |
| tree | 5c0005c15fd2164d009c0cc38e42262350919cce /compiler/rustc_codegen_cranelift | |
| parent | f100767dce1fcc0287047053cc29659ac5321a6b (diff) | |
| download | rust-ec0ff720d1a89cb51edd90116c6e70051affa95f.tar.gz rust-ec0ff720d1a89cb51edd90116c6e70051affa95f.zip | |
add `codegen_instance_attrs` query
and use it for naked functions
Diffstat (limited to 'compiler/rustc_codegen_cranelift')
| -rw-r--r-- | compiler/rustc_codegen_cranelift/src/driver/aot.rs | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/compiler/rustc_codegen_cranelift/src/driver/aot.rs b/compiler/rustc_codegen_cranelift/src/driver/aot.rs index 727f2760c0f..8ec3599b63d 100644 --- a/compiler/rustc_codegen_cranelift/src/driver/aot.rs +++ b/compiler/rustc_codegen_cranelift/src/driver/aot.rs @@ -530,12 +530,8 @@ fn codegen_cgu_content( for (mono_item, item_data) in mono_items { match mono_item { MonoItem::Fn(instance) => { - // Other `InstanceKind`s (e.g. `ReifyShim` generated by indirect calls) should be - // codegened like a normal function. - let is_item_instance = matches!(instance.def, InstanceKind::Item(_)); - - let flags = tcx.codegen_fn_attrs(instance.def_id()).flags; - if is_item_instance && flags.contains(CodegenFnAttrFlags::NAKED) { + let flags = tcx.codegen_instance_attrs(instance.def).flags; + if flags.contains(CodegenFnAttrFlags::NAKED) { rustc_codegen_ssa::mir::naked_asm::codegen_naked_asm( &mut GlobalAsmContext { tcx, global_asm: &mut cx.global_asm }, instance, |
