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