rust/compiler
Matthias Krüger dad74aa67c
Rollup merge of #126361 - celinval:issue-0079-intrinsic, r=oli-obk
Unify intrinsics body handling in StableMIR

rust-lang/rust#120675 introduced a new mechanism to declare intrinsics which will potentially replace the rust-intrinsic ABI.

The new mechanism introduces a placeholder body and mark the intrinsic with `#[rustc_intrinsic_must_be_overridden]`.
In practice, this means that a backend should not generate code for the placeholder, and shim the intrinsic.
The new annotation is an internal compiler implementation, and it doesn't need to be exposed to StableMIR users.

In this PR, we unify the interface for intrinsics marked with `rustc_intrinsic_must_be_overridden` and intrinsics that do not have a body.

Fixes https://github.com/rust-lang/project-stable-mir/issues/79

r? ``@oli-obk``

cc: ``@momvart``
2024-06-15 14:40:48 +02:00
..
rustc
rustc_abi Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_arena Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_ast Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_ast_ir Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_ast_lowering Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_ast_passes Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_ast_pretty Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_attr Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_baked_icu_data Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_borrowck Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_builtin_macros Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_codegen_cranelift Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_codegen_gcc ScalarInt: size mismatches are a bug, do not delay the panic 2024-06-10 13:43:16 +02:00
rustc_codegen_llvm Rollup merge of #126324 - zmodem:loongarch, r=nikic 2024-06-12 14:26:28 -04:00
rustc_codegen_ssa Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_const_eval Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_data_structures Rollup merge of #126368 - nnethercote:rm-more-unused-crate-deps, r=jackh726 2024-06-14 08:35:50 +02:00
rustc_driver Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_driver_impl Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_error_codes Auto merge of #126319 - workingjubilee:rollup-lendnud, r=workingjubilee 2024-06-12 11:10:50 +00:00
rustc_error_messages Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_errors Auto merge of #125410 - fmease:adj-lint-diag-api, r=nnethercote 2024-05-27 08:44:12 +00:00
rustc_expand Rollup merge of #125829 - petrochenkov:upctxt2, r=michaelwoerister 2024-06-15 14:40:47 +02:00
rustc_feature Auto merge of #118958 - c410-f3r:concat-again, r=petrochenkov 2024-06-14 16:41:39 +00:00
rustc_fluent_macro Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_fs_util Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_graphviz Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_hir Rollup merge of #126054 - veera-sivarajan:bugfix-113073-bound-on-generics-2, r=fee1-dead 2024-06-14 12:23:36 +02:00
rustc_hir_analysis Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_hir_pretty Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_hir_typeck Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_incremental Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_index Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_index_macros Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_infer Rollup merge of #126368 - nnethercote:rm-more-unused-crate-deps, r=jackh726 2024-06-14 08:35:50 +02:00
rustc_interface Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_lexer Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_lint Auto merge of #125722 - Urgau:non_local_defs-macro-to-change, r=estebank 2024-06-15 08:50:44 +00:00
rustc_lint_defs Fixup links in lint docs 2024-06-13 12:24:31 +02:00
rustc_llvm Auto merge of #125141 - SergioGasquez:feat/no_std-xtensa, r=davidtwco 2024-06-12 13:43:31 +00:00
rustc_log Bump tracing-tree and allow rendering lines again 2024-06-12 10:11:41 +00:00
rustc_macros Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_metadata Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_middle Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_mir_build Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_mir_dataflow Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_mir_transform Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_monomorphize Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_next_trait_solver Remove some unused crate dependencies. 2024-06-10 19:55:49 +10:00
rustc_parse Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_parse_format Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_passes Rollup merge of #126315 - mu001999-contrib:fix/126289, r=petrochenkov 2024-06-13 22:55:45 +02:00
rustc_pattern_analysis Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_privacy Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_query_impl Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_query_system Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_resolve Tweak output of import suggestions 2024-06-13 20:22:21 +00:00
rustc_sanitizers Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_serialize Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_session Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_smir Rollup merge of #126361 - celinval:issue-0079-intrinsic, r=oli-obk 2024-06-15 14:40:48 +02:00
rustc_span Rollup merge of #125829 - petrochenkov:upctxt2, r=michaelwoerister 2024-06-15 14:40:47 +02:00
rustc_symbol_mangling Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_target Rollup merge of #126324 - zmodem:loongarch, r=nikic 2024-06-12 14:26:28 -04:00
rustc_trait_selection Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_traits Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_transmute safe transmute: support Variants::Single enums 2024-06-13 01:38:51 +00:00
rustc_ty_utils Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_type_ir Address nits 2024-06-13 09:47:45 -04:00
rustc_type_ir_macros
stable_mir Rollup merge of #126361 - celinval:issue-0079-intrinsic, r=oli-obk 2024-06-15 14:40:48 +02:00