rust/compiler/rustc_codegen_cranelift/src
Matthias Krüger d774fbea7c
Rollup merge of #119365 - nbdd0121:asm-goto, r=Amanieu
Add asm goto support to `asm!`

Tracking issue: #119364

This PR implements asm-goto support, using the syntax described in "future possibilities" section of [RFC2873](https://rust-lang.github.io/rfcs/2873-inline-asm.html#asm-goto).

Currently I have only implemented the `label` part, not the `fallthrough` part (i.e. fallthrough is implicit). This doesn't reduce the expressive though, since you can use label-break to get arbitrary control flow or simply set a value and rely on jump threading optimisation to get the desired control flow. I can add that later if deemed necessary.

r? ``@Amanieu``
cc ``@ojeda``
2024-03-08 08:19:17 +01:00
..
abi Teach llvm backend how to fall back to default bodies 2024-02-12 17:50:39 +00:00
debuginfo Merge commit '3e50cf6502' into sync_cg_clif-2024-01-26 2024-01-26 18:33:45 +00:00
driver Merge commit '3e50cf6502' into sync_cg_clif-2024-01-26 2024-01-26 18:33:45 +00:00
intrinsics Add a scheme for moving away from extern "rust-intrinsic" entirely 2024-03-04 16:13:50 +00:00
optimize Merge commit '598f090956' into sync_cg_clif-2023-01-24 2023-01-24 18:56:42 +01:00
allocator.rs Merge commit '81dc066758' into sync_cg_clif-2023-10-09 2023-10-09 08:52:46 +00:00
analyze.rs remove redundant imports 2023-12-10 10:56:22 +08:00
archive.rs remove useless lifetime of ArchiveBuilder 2024-02-26 22:37:04 +08:00
base.rs Change InlineAsm to allow multiple targets instead 2024-02-24 18:50:09 +00:00
cast.rs Merge commit '93a5433f17' into sync_cg_clif-2023-10-24 2023-10-24 12:22:23 +00:00
codegen_i128.rs Move TyCtxt::mk_x to Ty::new_x where applicable 2023-07-05 20:27:07 +01:00
common.rs Add f16 and f128 to rustc_type_ir::FloatTy and rustc_abi::Primitive 2024-02-28 12:58:32 -05:00
compiler_builtins.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
concurrency_limiter.rs Rename many DiagCtxt arguments. 2023-12-18 16:06:22 +11:00
config.rs Merge commit '8830dccd1d' into sync_cg_clif-2023-06-15 2023-06-15 17:56:01 +00:00
constant.rs Remove Session methods that duplicate DiagCtxt methods. 2023-12-24 08:05:28 +11:00
discriminant.rs Remove from cranelift too. 2023-04-14 16:26:11 +00:00
global_asm.rs Implement asm goto in MIR and MIR lowering 2024-02-24 18:50:09 +00:00
inline_asm.rs Implement asm goto in MIR and MIR lowering 2024-02-24 18:50:09 +00:00
lib.rs Make CodegenBackend::join_codegen infallible. 2024-02-17 10:51:35 +11:00
linkage.rs Sync rustc_codegen_cranelift 'ddd4ce2553' 2021-04-30 14:49:58 +02:00
main_shim.rs Remove Session methods that duplicate DiagCtxt methods. 2023-12-24 08:05:28 +11:00
num.rs Move TyCtxt::mk_x to Ty::new_x where applicable 2023-07-05 20:27:07 +01:00
pointer.rs Merge commit '81dc066758' into sync_cg_clif-2023-10-09 2023-10-09 08:52:46 +00:00
pretty_clif.rs Rename EarlyErrorHandler as EarlyDiagCtxt. 2023-12-18 16:06:21 +11:00
toolchain.rs Merge commit 'e9d1a0a7b0' into sync_cg_clif-2022-08-24 2022-08-24 18:40:58 +02:00
trap.rs Merge commit '8830dccd1d' into sync_cg_clif-2023-06-15 2023-06-15 17:56:01 +00:00
unsize.rs only set noalias on Box with the global allocator 2024-03-05 15:03:33 +01:00
value_and_place.rs Remove movability from TyKind::Coroutine 2023-12-28 16:35:01 +00:00
vtable.rs Merge commit '3e50cf6502' into sync_cg_clif-2024-01-26 2024-01-26 18:33:45 +00:00