Commit Graph

4377 Commits

Author SHA1 Message Date
bjorn3
c7d43c333a Sync from rust 13a52890dd 2024-08-15 17:46:33 +00:00
bors
e2acda7447 Auto merge of #128812 - nnethercote:shrink-TyKind-FnPtr, r=compiler-errors
Shrink `TyKind::FnPtr`.

By splitting the `FnSig` within `TyKind::FnPtr` into `FnSigTys` and `FnHeader`, which can be packed more efficiently. This reduces the size of the hot `TyKind` type from 32 bytes to 24 bytes on 64-bit platforms. This reduces peak memory usage by a few percent on some benchmarks. It also reduces cache misses and page faults similarly, though this doesn't translate to clear cycles or wall-time improvements on CI.

r? `@compiler-errors`
2024-08-14 00:56:53 +00:00
Guillaume Gomez
ef74616e44 Rollup merge of #128149 - RalfJung:nontemporal_store, r=jieyouxu,Amanieu,Jubilee
nontemporal_store: make sure that the intrinsic is truly just a hint

The `!nontemporal` flag for stores in LLVM *sounds* like it is just a hint, but actually, it is not -- at least on x86, non-temporal stores need very special treatment by the programmer or else the Rust memory model breaks down. LLVM still treats these stores as-if they were normal stores for optimizations, which is [highly dubious](https://github.com/llvm/llvm-project/issues/64521). Let's avoid all that dubiousness by making our own non-temporal stores be truly just a hint, which is possible on some targets (e.g. ARM). On all other targets, non-temporal stores become regular stores.

~~Blocked on https://github.com/rust-lang/stdarch/pull/1541 propagating to the rustc repo, to make sure the `_mm_stream` intrinsics are unaffected by this change.~~

Fixes https://github.com/rust-lang/rust/issues/114582
Cc `@Amanieu` `@workingjubilee`
2024-08-12 17:09:14 +02:00
bjorn3
b4e46de5f3 Fix clif ir text format emission 2024-08-11 20:21:39 +00:00
bjorn3
918e11d14d Fix clean_all.sh 2024-08-11 11:52:23 +00:00
bjorn3
fabb29821a Rustup to rustc 1.82.0-nightly (730d5d409 2024-08-10) 2024-08-11 11:52:08 +00:00
bjorn3
65369af4df Sync from rust 730d5d4095 2024-08-11 11:44:15 +00:00
bjorn3
ab1da46e45 Fix source path for portable-simd
To avoid overriding the source for coretests every time.
2024-08-10 16:33:36 +00:00
bjorn3
aa918f02e4 Stop ignoring some portable-simd tests 2024-08-10 16:31:22 +00:00
bjorn3
52aa24ed4a Move cleaning of y.bin to the "to be removed" section in clean_all.sh 2024-08-10 15:29:17 +00:00
bjorn3
e55c630133 Add back bench job dependency for the release job 2024-08-10 15:20:58 +00:00
bjorn3
a33f731df7 Couple of minor build system changes 2024-08-10 15:18:04 +00:00
bjorn3
1b9645853a Remove --debug argument of y.sh
I rarely need a debug build of cg_clif, and even if I actually need one,
using package overrides in Cargo.toml to only do a debug build for the
rustc_codegen_cranelift crate works much better.
2024-08-10 14:16:53 +00:00
Nadrieril
3de829e4e5 Fixes in various places 2024-08-10 12:08:46 +02:00
bjorn3
bb6571fd63 Rustup to rustc 1.82.0-nightly (ca5d25e2c 2024-08-09) 2024-08-10 06:53:16 +00:00
bjorn3
aec3786ead Apply missed change from subtree sync 2024-08-09 17:34:52 +00:00
bjorn3
78abc36ac0 Merge branch 'sync_from_rust' 2024-08-09 17:33:55 +00:00
bjorn3
0174cb1932 Use ar_archive_writer from sysroot for cg_clif 2024-08-09 17:23:50 +00:00
bjorn3
3ea9313de3 Merge commit '69b3f5a426a5c1c05236a45b36f6679d95fbe01b' into sync_cg_clif-2024-08-09 2024-08-09 17:18:46 +00:00
bjorn3
69b3f5a426 Couple of minor cleanups 2024-08-09 16:13:39 +00:00
bjorn3
0e20a762f1 Stop using a custom Cargo.toml and Cargo.lock for the standard library
The rust-src component now ships a working copy of both.
2024-08-09 15:59:30 +00:00
bjorn3
d515e881a7 Disable f16 and f128 in compiler-builtins when running rustc tests 2024-08-09 15:51:43 +00:00
bjorn3
d61b0e782f Rustup to rustc 1.82.0-nightly (3e9bd8b56 2024-08-08) 2024-08-09 15:38:46 +00:00
Nicholas Nethercote
b8b3a9328f Shrink TyKind::FnPtr.
By splitting the `FnSig` within `TyKind::FnPtr` into `FnSigTys` and
`FnHeader`, which can be packed more efficiently. This reduces the size
of the hot `TyKind` type from 32 bytes to 24 bytes on 64-bit platforms.
This reduces peak memory usage by a few percent on some benchmarks. It
also reduces cache misses and page faults similarly, though this doesn't
translate to clear cycles or wall-time improvements on CI.
2024-08-09 14:33:25 +10:00
bjorn3
a2f3413922
Merge pull request #1524 from dpaoliello/rawdylib
Add support for raw-dylib
2024-08-08 23:45:20 +02:00
Daniel Paoliello
2756bd6ff7 Add support for raw-dylib 2024-08-08 13:51:58 -07:00
bjorn3
fdc6a5562b Fix rustc test suite 2024-08-08 21:54:20 +02:00
bjorn3
60ffec8b4a Rustup to rustc 1.82.0-nightly (8b3870784 2024-08-07) 2024-08-08 19:25:20 +00:00
Michael Goulet
e96ece7c0b Rename struct_tail_erasing_lifetimes to struct_tail_for_codegen 2024-08-08 12:15:16 -04:00
bjorn3
82605c4b5c Sync from rust 8b3870784f 2024-08-08 14:55:59 +00:00
bjorn3
14d020f88d Remove no longer used vendor intrinsic implementations 2024-08-07 10:00:13 +00:00
bjorn3
76f615ef1f Rustup to rustc 1.82.0-nightly (60d146580 2024-08-06) 2024-08-07 09:54:55 +00:00
bjorn3
6ef49b2ea3 Run abi-cafe tests for pull requests too 2024-08-07 09:35:31 +00:00
bjorn3
52f1ea4915 Don't skip running abi-cafe tests that give SIGILL on Windows 2024-08-05 19:13:52 +00:00
bjorn3
747adbdbe8
Merge pull request #1515 from lqd/abi-cafe
enable abi-cafe tests on `aarch64-apple-darwin`
2024-08-05 19:14:01 +02:00
Rémy Rakic
1f19cdf659 mark busted tests for aarch64-apple-darwin and aarch64-unknown-linux-gnu 2024-08-05 16:44:30 +00:00
Rémy Rakic
b3df6dcb60 ensure the download folder exists when running abi-cafe 2024-08-05 16:19:58 +00:00
Ralf Jung
80a7d5f61d nontemporal_store: make sure that the intrinsic is truly just a hint 2024-08-05 10:57:14 +02:00
Rémy Rakic
9ad44ba737 enable abi-cafe tests on aarch64-apple-darwin 2024-08-04 08:44:40 +00:00
bjorn3
395181c9bf
Merge pull request #1523 from rust-lang/update_abi_cafe
Update abi-cafe
2024-08-02 20:20:05 +02:00
bjorn3
e52af665f5 Update abi-cafe
This has found a couple of new abi issues. I also had to disable the
abi-cafe tests for the MinGW target as one of these abi issues causes a
hang and abi-cafe doesn't yet support timeouts.
2024-08-02 18:08:29 +00:00
bjorn3
c48b010845 Implement x86 _mm_sqrt_ss vendor intrinsic 2024-08-02 16:24:08 +02:00
bjorn3
9bad4b620f Fix rustc test suite 2024-08-02 16:06:02 +02:00
bjorn3
7bdafb5f6a Rustup to rustc 1.82.0-nightly (8e86c9567 2024-08-01) 2024-08-02 11:40:01 +00:00
bjorn3
e47c930f08 Sync from rust 8e86c95671 2024-08-02 11:24:34 +00:00
bjorn3
f340c81caa Statically enable a couple of target features always enabled on arm64 macOS
Ring fails to compile when they are not statically enabled when
compiling for macOS.

Fixes rust-lang/rustc_codegen_cranelift#1522
2024-07-31 15:33:58 +02:00
bjorn3
37da264107 Move computation of decorated names out of the create_dll_import_lib method 2024-07-30 10:32:32 +00:00
bjorn3
161d2476d5 Move temp file name generation out of the create_dll_import_lib method 2024-07-30 10:10:41 +00:00
bors
d35f63e303 Auto merge of #125016 - nicholasbishop:bishop-cb-112, r=tgross35
Update compiler_builtins to 0.1.114

The `weak-intrinsics` feature was removed from compiler_builtins in https://github.com/rust-lang/compiler-builtins/pull/598, so dropped the `compiler-builtins-weak-intrinsics` feature from alloc/std/sysroot.

In https://github.com/rust-lang/compiler-builtins/pull/593, some builtins for f16/f128 were added. These don't work for all compiler backends, so add a `compiler-builtins-no-f16-f128` feature and disable it for cranelift and gcc.
2024-07-29 07:41:33 +00:00
Nicholas Bishop
5cd1e8d9ab Update compiler_builtins to 0.1.114
The `weak-intrinsics` feature was removed from compiler_builtins in
https://github.com/rust-lang/compiler-builtins/pull/598, so dropped the
`compiler-builtins-weak-intrinsics` feature from alloc/std/sysroot.

In https://github.com/rust-lang/compiler-builtins/pull/593, some
builtins for f16/f128 were added. These don't work for all compiler
backends, so add a `compiler-builtins-no-f16-f128` feature and disable
it for cranelift and gcc. Also disable it for LLVM targets that don't
support it.
2024-07-28 20:43:07 -04:00