Commit Graph

5074 Commits

Author SHA1 Message Date
bjorn3 69d5855ba3 Rustup to rustc 1.91.0-nightly (040a98af7 2025-08-20) 2025-08-21 13:19:08 +00:00
bjorn3 4a47066323 Update libloading
This pulls in a newer version of windows-targets. The region crate still
pulls in the older version though.
2025-08-20 15:31:54 +00:00
bjorn3 8cb157c17d Update to Cranelift 0.123 2025-08-20 15:31:48 +00:00
bjorn3 f4383ffa73 Fix rustc test suite 2025-08-18 16:43:49 +00:00
bjorn3 420235c0f8 Rustup to rustc 1.91.0-nightly (425a9c0a0 2025-08-17) 2025-08-18 16:24:09 +00:00
bjorn3 8691986bf6 Sync from rust 425a9c0a0e 2025-08-18 16:18:17 +00:00
Sasha Pourcelot 69402da11e Port the #[linkage] attribute to the new attribute system 2025-08-13 21:01:37 +02:00
bjorn3 d962e00471 Fix rustc test suite 2025-08-13 13:46:55 +00:00
bjorn3 20cc800415 Rustup to rustc 1.91.0-nightly (8e62bfd31 2025-08-12) 2025-08-13 13:39:03 +00:00
bjorn3 2aec422036 Sync from rust 8e62bfd311 2025-08-13 13:31:05 +00:00
Trevor Gross 10cc2ea427 Rollup merge of #144192 - RalfJung:atomicrmw-ptr, r=nikic
atomicrmw on pointers: move integer-pointer cast hacks into backend

Conceptually, we want to have atomic operations on pointers of the form `fn atomic_add(ptr: *mut T, offset: usize, ...)`. However, LLVM does not directly support such operations (https://github.com/llvm/llvm-project/issues/120837), so we have to cast the `offset` to a pointer somewhere.

This PR moves that hack into the LLVM backend, so that the standard library, intrinsic, and Miri all work with the conceptual operation we actually want. Hopefully, one day LLVM will gain a way to represent these operations without integer-pointer casts, and then the hack will disappear entirely.

Cc ```@nikic``` -- this is the best we can do right now, right?
Fixes https://github.com/rust-lang/rust/issues/134617
2025-08-08 14:22:44 -05:00
bjorn3 f4fde2092b Prevent name collisions with internal implementation details
The implementation of the linkage attribute inside extern blocks defines
symbols starting with _rust_extern_with_linkage_. If someone tries to
also define this symbol you will get a symbol conflict or even an ICE.
By adding an unpredictable component to the symbol name, this becomes
less of an issue.
2025-08-07 13:41:17 +00:00
bjorn3 878f319881 Fix rustc test suite 2025-08-05 08:32:33 +00:00
bjorn3 0056e5638e Rustup to rustc 1.91.0-nightly (0060d5a2a 2025-08-04) 2025-08-05 08:25:06 +00:00
bjorn3 8b11468ac1 Workaround portable-simd examples compilation failure 2025-07-31 09:47:43 +00:00
bjorn3 0ac38e3fca Rustup to rustc 1.90.0-nightly (3048886e5 2025-07-30) 2025-07-31 09:31:58 +00:00
bjorn3 b49356587e Sync from rust 3048886e59 2025-07-31 09:29:00 +00:00
Jieyou Xu b56c50ff1b Update codegen_{cranelift,gcc} and opt-dist to use build.compiletest-allow-stage0 2025-07-30 19:55:07 +08:00
bjorn3 54db8a58d3 Revert "Remove unnecessary download-ci-llvm from setup_rust_fork.sh"
It caused LLVM to be cloned on CI.

This reverts commit 812388a717.
2025-07-29 15:00:41 +00:00
bjorn3 91afcca7c5 Fix rustc testsuite 2025-07-29 14:55:10 +00:00
bjorn3 00fd153d0d Rustup to rustc 1.90.0-nightly (498ae9fed 2025-07-28) 2025-07-29 14:41:03 +00:00
bjorn3 bfdb1c1642 Skip pre-defining naked functions 2025-07-29 14:19:28 +00:00
Scott McMurray 8b5d8e39a7 Remove [T]::array_chunks(_mut) 2025-07-27 23:03:07 -07:00
bjorn3 812388a717 Remove unnecessary download-ci-llvm from setup_rust_fork.sh 2025-07-25 13:27:09 +00:00
bjorn3 d47ae4a9b6 Rustup to rustc 1.90.0-nightly (b56aaec52 2025-07-24) 2025-07-25 13:00:22 +00:00
bjorn3 b664b4e604 Sync from rust b56aaec52b 2025-07-25 12:54:42 +00:00
Camille GILLOT 83907452bf Remove useless lifetime parameter. 2025-07-23 23:54:37 +00:00
Camille GILLOT ae8c473c9f Give an AllocId to ConstValue::Slice. 2025-07-23 23:54:37 +00:00
bjorn3 8483461b09 Support used(linker) 2025-07-23 15:28:10 +00:00
bjorn3 17f2c4db53 Update to Cranelift 0.122 2025-07-23 14:47:53 +00:00
bjorn3 6098fb9e48 Rustup to rustc 1.90.0-nightly (a7a1618e6 2025-07-22) 2025-07-23 14:42:01 +00:00
bjorn3 c0a733f096 Sync from rust a7a1618e6c 2025-07-23 14:34:28 +00:00
Ralf Jung 66503c1a83 atomicrmw on pointers: move integer-pointer cast hacks into backend 2025-07-23 08:32:55 +02:00
bjorn3 57fb209e76 Update dependencies 2025-07-21 13:56:39 +00:00
bjorn3 e7c7bf04a7 Fix rustc testsuite 2025-07-21 09:14:09 +00:00
bjorn3 87c661ebbc Re-enable some rustc tests 2025-07-21 08:55:47 +00:00
bjorn3 959755f224 Rustup to rustc 1.90.0-nightly (9982d6462 2025-07-20) 2025-07-21 08:44:33 +00:00
bjorn3 46fab0c176 Sync from rust 9982d6462b 2025-07-21 08:16:13 +00:00
Scott McMurray 7fa842965e Update cranelift tests 2025-07-20 10:15:14 -07:00
Folkert de Vries 8e5e64750c use codegen_instance_attrs where an instance is (easily) available 2025-07-16 23:24:32 +02:00
Folkert de Vries 70d199a639 add codegen_instance_attrs query
and use it for naked functions
2025-07-16 21:38:58 +02:00
Folkert de Vries 5320b81d1b fix -Zsanitizer=kcfi on #[naked] functions
And more broadly only codegen `InstanceKind::Item` using the naked
function codegen code. Other instance kinds should follow the normal
path.
2025-07-16 21:38:48 +02:00
bjorn3 46fa9ad1f0 Directly use symbol_value and tls_value
global_value gets legalized to either of the two.
2025-07-15 09:25:27 +00:00
bjorn3 a3796c7147 Rustup to rustc 1.90.0-nightly (a00149764 2025-07-14) 2025-07-15 09:05:29 +00:00
bjorn3 e0860f807c MinGW misses some f16/f128 intrinsics 2025-07-13 15:41:43 +00:00
bjorn3 8e7174905e Fix rustc testsuite 2025-07-12 15:52:14 +00:00
bjorn3 5d1bc9b8c4 Rustup to rustc 1.90.0-nightly (2a023bf80 2025-07-10) 2025-07-11 10:29:10 +00:00
bjorn3 ef087b0edd Sync from rust 2a023bf80a 2025-07-11 10:20:55 +00:00
bjorn3 503612e92f Fix rustc testsuite 2025-07-10 13:12:51 +00:00
bjorn3 fb6de82523 Rustup to rustc 1.90.0-nightly (e43d139a8 2025-07-09) 2025-07-10 10:37:15 +00:00