Commit Graph

4403 Commits

Author SHA1 Message Date
bjorn3
1aa0cf930a Unconditionally use git to download test repos
It no longer saves much download time while still complicating the code
and requiring curl and tar to be installed.
2024-09-12 19:29:43 +00:00
bjorn3
45be990167 Inline prepare_stdlib into the sysroot build code
Also reduce visibility of a couple of statics
2024-09-12 19:04:11 +00:00
bjorn3
ade0e38b5e Fix building rustc and the rustc test suite 2024-09-11 19:41:00 +00:00
bjorn3
dcae9acda0 Rustup to rustc 1.83.0-nightly (0ee7cb5e3 2024-09-10) 2024-09-11 19:31:20 +00:00
bjorn3
17bcb2ff46 Sync from rust 0ee7cb5e36 2024-09-11 19:13:40 +00:00
bjorn3
b4d55a8799 Add missing dbghelp link directive for windows 2024-09-11 17:38:03 +00:00
bors
cf7c0554f1 Auto merge of #128939 - bjorn3:windows_cg_clif_component, r=albertlarsan68
Distribute rustc_codegen_cranelift for Windows

With support for raw-dylib recently added to cg_clif, and inline assembly support working on Windows for quite a while now, all blockers for distributing cg_clif on Windows that I mentioned in https://github.com/rust-lang/rust/pull/81746#issuecomment-1774099637 are fixed now.
2024-09-09 16:09:06 +00:00
bjorn3
b7ed9ad226 Remove test exclusion for fixed rustc test 2024-09-03 11:08:17 +00:00
bjorn3
39defb1c9c Rustup to rustc 1.83.0-nightly (bd53aa3bf 2024-09-02) 2024-09-03 11:01:25 +00:00
bjorn3
c31f7b9785 Sync from rust bd53aa3bf7 2024-09-03 10:53:37 +00:00
Rémy Rakic
0fba9b4dbb introduce PrettyPrintMirOptions for cosmetic MIR dump options
initially starting with `-Z mir-include-spans` because we want them in
the NLL mir dump pass
2024-08-30 07:07:28 +00:00
bjorn3
7e4cafb653 Fix rustc test suite 2024-08-28 12:36:34 +00:00
bjorn3
36c126f94a Rustup to rustc 1.82.0-nightly (1f12b9b0f 2024-08-27) 2024-08-28 10:25:03 +00:00
bjorn3
217b005dd1 Sync from rust 1f12b9b0fd 2024-08-28 10:18:51 +00:00
Trevor Gross
8a26d21ce2 Rollup merge of #128731 - RalfJung:simd-shuffle-vector, r=workingjubilee
simd_shuffle intrinsic: allow argument to be passed as vector

See https://github.com/rust-lang/rust/issues/128738 for context.

I'd like to get rid of [this hack](6c0b89dfac/compiler/rustc_codegen_ssa/src/mir/block.rs (L922-L935)). https://github.com/rust-lang/rust/pull/128537 almost lets us do that since constant SIMD vectors will then be passed as immediate arguments. However, simd_shuffle for some reason actually takes an *array* as argument, not a vector, so the hack is still required to ensure that the array becomes an immediate (which then later stages of codegen convert into a vector, as that's what LLVM needs).

This PR prepares simd_shuffle to also support a vector as the `idx` argument. Once this lands, stdarch can hopefully be updated to pass `idx` as a vector, and then support for arrays can be removed, which finally lets us get rid of that hack.
2024-08-27 01:46:50 -05:00
bjorn3
19757ecb9d Update Cranelift to 0.111 2024-08-22 19:39:43 +00:00
bjorn3
87e74fe80b Rustup to rustc 1.82.0-nightly (a32d4a0e8 2024-08-21) 2024-08-22 19:24:47 +00:00
bjorn3
46b7db19ae Sync from rust a32d4a0e82 2024-08-22 11:08:13 +00:00
bjorn3
01f873990a Rustup to rustc 1.82.0-nightly (6de928dce 2024-08-18) 2024-08-19 17:21:56 +00:00
bjorn3
c1e7b0068d Sync from rust 6de928dce9 2024-08-19 17:15:21 +00:00
Ralf Jung
8e7b3b5c2b rename AddressOf -> RawBorrow inside the compiler 2024-08-18 19:46:53 +02:00
Ralf Jung
f1fadb8ba2 stabilize raw_ref_op 2024-08-18 19:46:53 +02:00
Chris Denton
d7198a541d Always use ar_archive_writer for import libs 2024-08-17 19:10:46 +00:00
bjorn3
69cec6faea Rustup to rustc 1.82.0-nightly (13a52890d 2024-08-14) 2024-08-15 17:53:20 +00:00
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
Ralf Jung
6906793db8 simd_shuffle intrinsic: allow argument to be passed as vector (not just as array) 2024-08-13 07:51:17 +02: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
060811a602 Distribute rustc_codegen_cranelift for Windows 2024-08-10 21:16:44 +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