This repository was archived by the owner on May 28, 2025. It is now read-only.
Commit d842784
authored
Unrolled build for rust-lang#119365
Rollup merge of rust-lang#119365 - nbdd0121:asm-goto, r=Amanieu
Add asm goto support to `asm!`
Tracking issue: rust-lang#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``File tree
76 files changed
+857
-200
lines changed- compiler
- rustc_ast_lowering
- src
- rustc_ast_pretty/src/pprust
- rustc_ast/src
- rustc_borrowck/src
- polonius
- type_check
- rustc_builtin_macros
- src
- rustc_codegen_cranelift/src
- rustc_codegen_gcc/src
- rustc_codegen_llvm/src
- llvm
- rustc_codegen_ssa/src
- mir
- traits
- rustc_const_eval
- src
- interpret
- transform
- rustc_feature/src
- rustc_hir_analysis/src/check
- rustc_hir_pretty/src
- rustc_hir_typeck/src
- rustc_hir/src
- rustc_llvm/llvm-wrapper
- rustc_middle/src
- mir
- thir
- rustc_mir_build/src
- build/expr
- thir
- cx
- rustc_mir_dataflow/src
- framework
- impls
- move_paths
- rustc_mir_transform/src
- coverage
- rustc_monomorphize/src
- rustc_parse/src/parser
- rustc_passes/src
- rustc_resolve/src
- rustc_smir/src/rustc_smir/convert
- rustc_span/src
- src
- doc/unstable-book/src/language-features
- tools/clippy
- clippy_lints/src/loops
- clippy_utils/src
- tests
- codegen
- ui
- asm
- aarch64
- x86_64
- feature-gates
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
76 files changed
+857
-200
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2302 | 2302 | | |
2303 | 2303 | | |
2304 | 2304 | | |
| 2305 | + | |
| 2306 | + | |
| 2307 | + | |
2305 | 2308 | | |
2306 | 2309 | | |
2307 | 2310 | | |
| |||
2311 | 2314 | | |
2312 | 2315 | | |
2313 | 2316 | | |
2314 | | - | |
| 2317 | + | |
2315 | 2318 | | |
2316 | 2319 | | |
2317 | 2320 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1331 | 1331 | | |
1332 | 1332 | | |
1333 | 1333 | | |
| 1334 | + | |
1334 | 1335 | | |
1335 | 1336 | | |
1336 | 1337 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
823 | 823 | | |
824 | 824 | | |
825 | 825 | | |
| 826 | + | |
826 | 827 | | |
827 | 828 | | |
828 | 829 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
91 | 94 | | |
92 | 95 | | |
93 | 96 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
7 | | - | |
8 | | - | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
237 | 237 | | |
238 | 238 | | |
239 | 239 | | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
240 | 252 | | |
241 | 253 | | |
242 | 254 | | |
| |||
296 | 308 | | |
297 | 309 | | |
298 | 310 | | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
299 | 317 | | |
300 | 318 | | |
301 | 319 | | |
| |||
335 | 353 | | |
336 | 354 | | |
337 | 355 | | |
338 | | - | |
| 356 | + | |
| 357 | + | |
339 | 358 | | |
340 | 359 | | |
341 | 360 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
261 | 261 | | |
262 | 262 | | |
263 | 263 | | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
264 | 274 | | |
265 | 275 | | |
266 | 276 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1452 | 1452 | | |
1453 | 1453 | | |
1454 | 1454 | | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
1455 | 1459 | | |
1456 | 1460 | | |
1457 | 1461 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
723 | 723 | | |
724 | 724 | | |
725 | 725 | | |
726 | | - | |
| 726 | + | |
727 | 727 | | |
728 | 728 | | |
729 | 729 | | |
| |||
749 | 749 | | |
750 | 750 | | |
751 | 751 | | |
752 | | - | |
| 752 | + | |
| 753 | + | |
753 | 754 | | |
754 | 755 | | |
755 | 756 | | |
| |||
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
164 | | - | |
| 164 | + | |
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
| |||
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
185 | | - | |
| 185 | + | |
| 186 | + | |
186 | 187 | | |
187 | 188 | | |
188 | 189 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1770 | 1770 | | |
1771 | 1771 | | |
1772 | 1772 | | |
1773 | | - | |
1774 | | - | |
| 1773 | + | |
| 1774 | + | |
1775 | 1775 | | |
1776 | 1776 | | |
1777 | 1777 | | |
| |||
0 commit comments