Commit Graph

207 Commits

Author SHA1 Message Date
bjorn3
f6c0006b2a Sync from rust 6a62871320 2023-12-18 18:24:49 +00:00
bjorn3
697aa0a320 Fix test for size_of_val and align_of_val panicking on extern types 2023-12-18 15:15:35 +00:00
lcnr
89ab75e856 update use of feature flags 2023-12-14 15:22:37 +01:00
bjorn3
bb7a126ecd Sync from rust eeff92ad32 2023-12-14 13:26:46 +00:00
bjorn3
b1cd90a423 Sync from rust 3340d49d22 2023-12-13 18:42:21 +00:00
bors
e3d2831ff4 Auto merge of #118534 - RalfJung:extern-type-size-of-val, r=WaffleLapkin
codegen: panic when trying to compute size/align of extern type

The alignment is also computed when accessing a field of extern type at non-zero offset, so we also panic in that case.

Previously `size_of_val` worked because the code path there assumed that "thin pointer" means "sized". But that's not true any more with extern types. The returned size and align are just blatantly wrong, so it seems better to panic than returning wrong results. We use a non-unwinding panic since code probably does not expect size_of_val to panic.
2023-12-13 08:33:05 +00:00
Ralf Jung
aa3dc4c225 remove a cranelift test that doesn't make sense any more 2023-12-12 08:15:17 +01:00
Urgau
9d9459a6f9 Adjust tests for newly added ambiguous_wide_pointer_comparisons lint 2023-12-06 09:03:48 +01:00
bjorn3
1988cf4a18 Merge commit '710c67909d034e1c663174a016ca82b95c2d6c12' into sync_cg_clif-2023-11-25 2023-11-25 10:05:52 +00:00
bjorn3
85c708132f Sync from rust 37b2813a7b 2023-11-25 09:24:52 +00:00
bjorn3
9c958196e7 Fix polymorphization for coroutines
Fixes rust-lang/rustc_codegen_cranelift#1429
2023-11-24 10:46:22 +01:00
bjorn3
4ae658683f Fix fn_sig_for_fn_abi and the coroutine transform for generators
There were three issues previously:
* The self argument was pinned, despite Iterator::next taking an
  unpinned mutable reference.
* A resume argument was passed, despite Iterator::next not having one.
* The return value was CoroutineState<Item, ()> rather than Option<Item>

While these things just so happened to work with the LLVM backend,
cg_clif does much stricter checks when trying to assign a value to a
place. In addition it can't handle the mismatch between the amount of
arguments specified by the FnAbi and the FnSig.
2023-11-23 20:17:19 +00:00
bjorn3
d49fd9f877 Merge commit 'c84d1871dc4456539b7b578830268ab3539915d0' into sync_cg_clif-2023-11-10 2023-11-10 11:30:51 +00:00
Afonso Bordado
209476e33a Only import aarch64 intrinsics on aarch64 2023-11-04 19:47:56 +00:00
Afonso Bordado
f824da66c6 Make neon example build in all arches 2023-11-04 19:41:08 +00:00
Afonso Bordado
70a6abfd29 Add unsigned saturating add/sub intrinsics for aarch64 2023-11-04 19:37:36 +00:00
Afonso Bordado
88c2e7896b Implement aarch64 addp intrinsics 2023-11-04 19:11:15 +00:00
Afonso Bordado
1f09bae6a8 Implement min/max neon intrisics 2023-11-04 19:07:13 +00:00
bjorn3
a302610016 Merge commit '93a5433f17ab5ed48cc88f1e69b0713b16183373' into sync_cg_clif-2023-10-24 2023-10-24 12:22:23 +00:00
bjorn3
55380a5ffd Dynamically realign local variables with large alignment
This works around the lack of a way to specify the alignment of a stack
slot in Cranelift.

Fixes #1230
Fixes #1381
2023-10-22 17:11:11 +00:00
bjorn3
f414e265a7 Sync from rust 249624b504 2023-10-21 11:26:32 +00:00
Oli Scherer
4519e68957 s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
Oli Scherer
8e264ab07a s/Generator/Coroutine/ 2023-10-20 21:10:38 +00:00
bjorn3
5d85a24442 Merge commit '81dc066758ec150b43822d4a0c84aae20fe10f40' into sync_cg_clif-2023-10-09 2023-10-09 08:52:46 +00:00
bjorn3
b1421dea1d Support inline asm on AArch64
Also stop changing the frame pointer on x86_64. This confuses unwinders.
2023-10-05 19:06:08 +00:00
bjorn3
59cabd7032 Merge commit '8f9ac9c22d6594cf059d8e6c71d414cc5ccd7975' into sync_cg_clif-2023-08-09 2023-08-09 18:20:12 +00:00
bjorn3
3deb6c69e0 Rustup to rustc 1.73.0-nightly (03a119b0b 2023-08-07) 2023-08-09 10:05:36 +00:00
bjorn3
e8168ce8a3 Merge commit '1eded3619d0e55d57521a259bf27a03906fdfad0' into sync_cg_clif-2023-07-22 2023-07-22 13:32:34 +00:00
bjorn3
a8a722f211 Sync from rust 0308df23e6 2023-07-22 10:54:06 +00:00
chenx97
648f5e4208 support for mips64r6 as a target_arch value 2023-07-18 18:58:18 +08:00
bjorn3
aebbeceb88 Handle rust-call abi without self argument
Fixes #1236
2023-06-20 10:05:23 +00:00
bjorn3
ab836ca5e3 Fix transmuting fat pointers to integers
Fixes #1325
2023-06-19 20:55:55 +00:00
bjorn3
d169ee3457 Recurse into function signatures in assert_assignable
Fixes #1311
2023-06-19 19:30:44 +00:00
bjorn3
87374d89e0 Rustup to rustc 1.72.0-nightly (2d0aa5768 2023-06-18) 2023-06-19 14:03:36 +00:00
bjorn3
361a1ea39b Sync from rust 2d0aa57684 2023-06-19 13:55:47 +00:00
DrMeepster
f429b3e67f remove box_free and replace with drop impl 2023-06-16 13:41:06 -07:00
bjorn3
81ea0b29ea Merge commit '8830dccd1d4c74f1f69b0d3bd982a3f1fcde5807' into sync_cg_clif-2023-06-15 2023-06-15 17:56:01 +00:00
bjorn3
c09ef96878 Implement _mm_shuffle_epi8 2023-06-06 09:34:21 +00:00
bjorn3
1797ae5174 Define rust_eh_personality for alloc_example
x86_64-pc-windows-gnu requires it to be defined.
2023-06-05 16:54:37 +00:00
bjorn3
76900705e8 Implement all vendor intrinsics used by regex on AVX2 systems
This allows it to work with --sysroot llvm
2023-06-05 15:33:54 +00:00
bjorn3
72b194cd50 Fix #[cfg(target_os)] for macOS
Fixes #1376
2023-05-26 08:44:32 +00:00
bjorn3
b3415291a6 Rustup to rustc 1.71.0-nightly (a2b1646c5 2023-05-25) 2023-05-26 08:27:47 +00:00
bjorn3
134dc33485 Fix testing with unstable features disabled 2023-05-24 17:31:25 +00:00
bjorn3
72e67c862f Fix compiling all tests with LLVM 2023-05-24 17:27:32 +00:00
bjorn3
8bf550e616 Merge commit 'ef07e8e60f994ec014d049a95591426fb92ebb79' into sync_cg_clif-2023-04-29 2023-04-29 12:00:43 +00:00
bjorn3
72022bb24d Sync from rust f495605381 2023-04-29 11:10:56 +00:00
bjorn3
1c978ee516 Sync from rust f5559e3382 2023-04-25 11:32:28 +00:00
Matthias Krüger
b908472a93 Revert "Remove #[alloc_error_handler] from the compiler and library"
This reverts commit abc0660118.
2023-04-25 00:08:35 +02:00
Amanieu d'Antras
2ead2f56c0 Remove #[alloc_error_handler] from the compiler and library 2023-04-16 08:35:50 -07:00
bjorn3
41866bf2f4 Fix a couple of 2018 edition warnings 2023-04-13 13:17:26 +00:00