288 Commits

Author SHA1 Message Date
Ellis Hoag
9c67dcfe42 lint and remove unused diagnostic 2023-02-28 19:13:19 -05:00
Ellis Hoag
70aeb9e2b3 remove comment 2023-02-28 19:13:19 -05:00
Ellis Hoag
925b11ece0 fix lifetime error 2023-02-28 19:13:19 -05:00
Ellis Hoag
9bbb49150a rebase and update trait names 2023-02-28 19:13:19 -05:00
Ellis Hoag
2e46dc2cff impl SessionDiagnostic for LayoutError and Spanned<T> 2023-02-28 19:13:19 -05:00
Ellis Hoag
ef3aaa1f21 Add monomorphization errors 2023-02-28 19:13:18 -05:00
Ellis Hoag
f21041d7c3 lint type 2023-02-28 19:07:24 -05:00
Ellis Hoag
4718beead6 Add wrapper type for ExitCode for use in RanlibFailure 2023-02-28 19:07:24 -05:00
Ellis Hoag
c4149da9fd remove IntoDiagnosticArg impl for Option 2023-02-28 19:07:24 -05:00
Ellis Hoag
b4a051e3b3 Lint against untranslatable diagnostics in rustc_codegen_gcc 2023-02-28 19:07:24 -05:00
Ellis Hoag
1b5dd4bf5e Add LayoutSizeOverflow 2023-02-28 19:07:24 -05:00
Ellis Hoag
4a861c140a Add LTONotSupported 2023-02-28 19:07:24 -05:00
Ellis Hoag
2592befa7c Add UnwindingInlineAsm 2023-02-28 19:07:24 -05:00
Ellis Hoag
5a9ec83a17 Add LinkageConstOrMutType 2023-02-28 19:07:24 -05:00
Ellis Hoag
c503d978dc Add RanlibFailure 2023-02-28 19:07:24 -05:00
Oli Scherer
a50c15275f Remove dead broken code from const zst handling in backends 2023-02-28 18:57:14 -05:00
Josh Stone
91cf28428e Move the cast_float_to_int fallback code to GCC
Now that we require at least LLVM 13, that codegen backend is always
using its intrinsic `fptosi.sat` and `fptoui.sat` conversions, so it
doesn't need the manual implementation. However, the GCC backend still
needs it, so we can move all of that code down there.
2023-02-28 18:57:14 -05:00
Ralf Jung
80b1c8dab5 interpret: rename relocation → provenance 2023-02-28 18:57:14 -05:00
Maybe Waffle
5eedd541a9 Fix ptr_mask impl in cg gcc 2023-02-28 18:57:14 -05:00
Maybe Waffle
a7f6e7ebaf Implement ptr_mask intrinsic in cg gcc 2023-02-28 18:57:14 -05:00
Nicholas Nethercote
b3f2942156 Move ArgAbi::pad_i32 into PassMode::Cast.
Because it's only needed for that variant. This shrinks the types and
clarifies the logic.
2023-02-28 18:57:14 -05:00
Nicholas Nethercote
8ebade29d6 Turn ArgAbi::pad into a bool.
Because it's only ever set to `None` or `Some(Reg::i32())`.
2023-02-28 18:57:14 -05:00
Nicholas Nethercote
3c2d43265c Simplify arg capacity calculations.
Currently they try to be very precise. But they are wrong, i.e. they
don't match what's happening in the loop below. This code isn't hot
enough for it to matter that much.
2023-02-28 18:57:14 -05:00
Nicholas Nethercote
a283dedd44 Change FnAbi::args to a boxed slice. 2023-02-28 18:57:14 -05:00
Nicholas Nethercote
d01d0d1f76 Box CastTarget within PassMode.
Because `PassMode::Cast` is by far the largest variant, but is
relatively rare.

This requires making `PassMode` not impl `Copy`, and `Clone` is no
longer necessary. This causes lots of sigil adjusting, but nothing very
notable.
2023-02-28 18:57:14 -05:00
Antoni Boucher
16b377efbd Remove comment 2023-02-25 21:48:44 -05:00
Antoni Boucher
3e61492dc5 Add feature gate 2023-02-25 20:37:20 -05:00
Antoni Boucher
df72765646 Implement simd_scatter 2023-02-25 19:37:51 -05:00
Antoni Boucher
0898eab220 Implement simd_gather 2023-02-25 17:41:08 -05:00
Antoni Boucher
41f5e701e6 Fix signed integer overflow 2023-01-26 17:14:09 -05:00
Antoni Boucher
fa6ae3c8bb Cleanup 2023-01-26 13:53:36 -05:00
bjorn3
7fa06f6b88 Avoid a hir access inside get_static 2023-01-12 20:26:24 +00:00
Antoni Boucher
8e77fbf0cc Fix LLVM builtin mapping 2023-01-10 18:38:50 -05:00
Antoni Boucher
af8db759be Support libgccjit12 2023-01-09 17:04:59 -05:00
Antoni Boucher
70659f7591 Cleanup 2023-01-08 11:42:00 -05:00
Antoni Boucher
a4b74e3adf Fix unwinding 2023-01-06 10:42:38 -05:00
Antoni Boucher
71d7e561bd Comment 2023-01-03 08:56:00 -05:00
Antoni Boucher
b0cf0e8c06 WIP 2023-01-02 14:57:38 -05:00
Antoni Boucher
889a33a500 WIP: Implement unwinding 2023-01-02 14:57:38 -05:00
Antoni Boucher
3791646c02 Run stdarch tests in the CI 2022-11-25 11:38:49 -05:00
Antoni Boucher
69341c44cc Fix the argument order for some AVX-512 intrinsics 2022-11-24 18:32:17 -05:00
Antoni Boucher
76991ba26f Fix simd_bitmask 2022-11-24 17:26:58 -05:00
Antoni Boucher
15fcca80a4 Escape { and } in inline asm 2022-11-24 13:21:04 -05:00
Guillaume Gomez
bf3ef4ce1a Revert changes in argument parsing for setting asm syntax 2022-10-26 17:04:58 +02:00
Guillaume Gomez
f150ab3277 Improve code generating inline ASM 2022-10-18 23:11:46 +02:00
Guillaume Gomez
5484c131a5 Don't override -masm option if set in the command arguments 2022-10-18 22:45:22 +02:00
Guillaume Gomez
1b60286103 Implement constraits modifiers 2022-10-18 17:44:33 +02:00
Guillaume Gomez
94a4a4c350 Convert llvm-arg --x86-asm-syntax into GCC arg -masm 2022-10-18 16:31:50 +02:00
Guillaume Gomez
b3198c72db Add missing register class conversion for inline asm 2022-10-18 16:29:33 +02:00
Antoni Boucher
173db39f91 Fix simd_select 2022-10-09 14:24:35 -04:00