rust/compiler/rustc_mir_dataflow/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
..
framework Change InlineAsm to allow multiple targets instead 2024-02-24 18:50:09 +00:00
impls Implement asm goto in MIR and MIR lowering 2024-02-24 18:50:09 +00:00
move_paths Implement asm goto in MIR and MIR lowering 2024-02-24 18:50:09 +00:00
debuginfo.rs Preserve DebugInfo in DeadStoreElimination. 2023-10-06 15:46:11 +00:00
drop_flag_effects.rs Remove unused arguments from on_all_children_bits. 2023-11-24 06:36:27 +11:00
elaborate_drops.rs Add CoroutineClosure to TyKind, AggregateKind, UpvarArgs 2024-02-06 02:22:58 +00:00
errors.rs Migrate all diagnostics 2022-10-23 10:09:44 +02:00
lib.rs Remove unnecessary min_specialization after bootstrap 2024-02-10 18:15:11 +11:00
points.rs Use a plain bitset for liveness analyses. 2024-01-22 23:18:45 +00:00
rustc_peek.rs Return a struct from query intrinsic to be able to add another field in the next commit 2024-03-04 16:13:50 +00:00
storage.rs Replace Body::basic_blocks() with field access 2022-08-26 14:27:08 +02:00
un_derefer.rs Avoid unnecessary exports. 2023-11-23 14:06:57 +11:00
value_analysis.rs More comments, final tweaks 2024-02-06 02:22:58 +00:00