Commit Graph

3499 Commits

Author SHA1 Message Date
Camille GILLOT
22e6885de0 Remove WithOptconstParam. 2023-04-20 17:48:32 +00:00
bjorn3
10bdc6a99e Rustup to rustc 1.71.0-nightly (d0f204e4d 2023-04-16) 2023-04-17 09:40:38 +00:00
bjorn3
ea641ed35b Sync from rust d0f204e4d7 2023-04-17 09:35:42 +00:00
Oli Scherer
fcbdfe1369 Merge from rustc 2023-04-17 09:14:45 +00:00
Amanieu d'Antras
2ead2f56c0 Remove #[alloc_error_handler] from the compiler and library 2023-04-16 08:35:50 -07:00
Camille GILLOT
fe3e38306f Remove from cranelift too. 2023-04-14 16:26:11 +00:00
bjorn3
4ece6d0e44 Minor build perf optimization 2023-04-13 13:29:00 +00:00
bjorn3
41866bf2f4 Fix a couple of 2018 edition warnings 2023-04-13 13:17:26 +00:00
bjorn3
4435686a48 Fix warnings when building the build system in rust's CI 2023-04-13 13:17:01 +00:00
bjorn3
51ac38190f Enable tls test on MSVC Windows 2023-04-13 13:15:36 +00:00
bjorn3
7b83e16d5b Workaround bug in rustc when panicking for -Cpanic=abort 2023-04-13 13:15:13 +00:00
bjorn3
dfaeab8c5c Fix rustc test suite
A lot of tests were moved from run-make-fulldeps to run-make. Only the
later test suite is currently tested.
2023-04-10 13:43:51 +00:00
bjorn3
45eb938b09 Rustup to rustc 1.70.0-nightly (af06dce64 2023-04-08) 2023-04-09 15:12:19 +00:00
bjorn3
8b447bcdd8 Sync from rust af06dce64b 2023-04-09 15:06:45 +00:00
bjorn3
c4b379460f Use --nocapture instead of RUST_TEST_NOCAPTURE
RUST_TEST_NOCAPTURE is no longer respected
2023-04-09 13:25:41 +00:00
bjorn3
c7053b391c Set a timeout of 1h for the "Various rustc tests" GHA workflow
Fixes 
2023-04-09 13:01:10 +00:00
bjorn3
9970b04646 Don't deadlock when failing to acquire a jobserver token 2023-04-09 12:58:45 +00:00
Gary Guo
446650cb00 Rename Abort terminator to Terminate
Unify terminology used in unwind action and terminator, and reflect
the fact that a nounwind panic is triggered instead of an immediate
abort is triggered for this terminator.
2023-04-06 09:34:16 +01:00
Gary Guo
9da329d243 Refactor unwind from Option to a new enum 2023-04-06 09:34:16 +01:00
Scott McMurray
dc5a8c8881 Use FieldIdx in various things related to aggregates
Shrank `AggregateKind` by 8 bytes on x64, since the active field of a union is tracked as an `Option<FieldIdx>` instead of `Option<usize>`.
2023-04-01 20:32:50 -07:00
bors
e2e598f5fb Auto merge of - saethlin:mir-alignment-checks, r=oli-obk
Insert alignment checks for pointer dereferences when debug assertions are enabled

Closes https://github.com/rust-lang/rust/issues/54915

- [x] Jake tells me this sounds like a place to use `MirPatch`, but I can't figure out how to insert a new basic block with a new terminator in the middle of an existing basic block, using `MirPatch`. (if nobody else backs up this point I'm checking this as "not actually a good idea" because the code looks pretty clean to me after rearranging it a bit)
- [x] Using `CastKind::PointerExposeAddress` is definitely wrong, we don't want to expose. Calling a function to get the pointer address seems quite excessive. ~I'll see if I can add a new `CastKind`.~ `CastKind::Transmute` to the rescue!
- [x] Implement a more helpful panic message like slice bounds checking.

r? `@oli-obk`
2023-03-31 08:50:35 +00:00
Scott McMurray
69b57c2db5 Update ty::VariantDef to use IndexVec<FieldIdx, FieldDef>
And while doing the updates for that, also uses `FieldIdx` in `ProjectionKind::Field` and `TypeckResults::field_indices`.

There's more places that could use it (like `rustc_const_eval` and `LayoutS`), but I tried to keep this PR from exploding to *even more* places.

Part 2/? of https://github.com/rust-lang/compiler-team/issues/606
2023-03-30 09:23:40 -07:00
bjorn3
fd4e1d55ea Fix rustc test suite 2023-03-30 12:38:09 +00:00
bjorn3
dc7409c8ec Rustup to rustc 1.70.0-nightly (17c116721 2023-03-29) 2023-03-30 12:22:46 +00:00
bjorn3
86a71bf45b Sync from rust 17c1167216 2023-03-30 12:13:44 +00:00
Matthias Krüger
e88c4052c3 Rollup merge of - scottmcm:field-to-fieldidx, r=oli-obk
Move `mir::Field` → `abi::FieldIdx`

The first PR for https://github.com/rust-lang/compiler-team/issues/606

This is just the move-and-rename, because it's plenty big already.  Future PRs will start using `FieldIdx` more broadly, and concomitantly removing `FieldIdx::new`s.
2023-03-29 21:19:51 +02:00
John Kåre Alsaker
5a7ce4609e Support TLS access into dylibs on Windows 2023-03-29 08:55:21 +02:00
Scott McMurray
406eb96437 Move mir::Fieldabi::FieldIdx
The first PR for https://github.com/rust-lang/compiler-team/issues/606

This is just the move-and-rename, because it's plenty big-and-bitrotty already.  Future PRs will start using `FieldIdx` more broadly, and concomitantly removing `FieldIdx::new`s.
2023-03-28 22:22:37 -07:00
nils
37ab4bd419 Rollup merge of - Zoxc:rayon-tlv, r=cuviper
Use Rayon's TLV directly

This accesses Rayon's `TLV` thread local directly avoiding wrapper functions. This makes rustc work with https://github.com/rust-lang/rustc-rayon/pull/10.

r? `@cuviper`
2023-03-28 12:51:12 +02:00
bjorn3
b2796ecb77 Add issue reference to fixmes 2023-03-27 17:52:37 +00:00
bjorn3
edc05ae489 Improve public interface of CValue and CPlace 2023-03-27 17:14:40 +00:00
bjorn3
174b73e3c9 Refactor write_cvalue_maybe_transmute to clarify code flow 2023-03-27 16:50:04 +00:00
bjorn3
a5f11c7aeb Avoid CValue::const_val in a couple of places 2023-03-27 16:30:50 +00:00
bjorn3
0e50c9e4f3 Update example output in pretty_clif.rs 2023-03-27 16:04:50 +00:00
bjorn3
b6cf0a623f Remove CPlace::inner and make CPlaceInner private
This makes it easier to add and remove variants as necessary
2023-03-27 15:44:26 +00:00
bjorn3
e5647908d1 Split codegen_i128::maybe_codegen into two functions 2023-03-27 13:09:10 +00:00
bjorn3
9b40efa24e Fix ICE for --emit llvm-ir 2023-03-27 10:56:15 +00:00
bjorn3
80d93e8a66 Rustup to rustc 1.70.0-nightly (db0cbc48d 2023-03-26) 2023-03-27 10:32:38 +00:00
bjorn3
3b0631a130 Sync from rust db0cbc48d4 2023-03-27 10:26:44 +00:00
bjorn3
d0547f4c99 Run ui/extern tests from the rustc test suite 2023-03-26 17:34:40 +00:00
bjorn3
c0f2b10e15 Skip building crates without tests for regex
regex-capi and regex-debug don't have any tests. Nor do they contain any
code that is useful to test with cg_clif.
2023-03-26 14:07:51 +00:00
bjorn3
5b1268d16b Update portable-simd
This avoids building wasm-bindgen-test on non-wasm targets, reducing
test time.
2023-03-26 13:44:21 +00:00
bjorn3
32f59bad5b Add fixme 2023-03-26 13:40:28 +00:00
bjorn3
257d9005b4 Also include MIR statements in clif ir dumps by default 2023-03-26 11:02:56 +00:00
bjorn3
ae60cb1287
Merge pull request from bjorn3/rip_out_simd_ssa
Don't store vector types in ssa variables
2023-03-26 12:55:15 +02:00
bjorn3
c3ee030119 Fix passing and returning vector types 2023-03-26 10:22:37 +00:00
Scott McMurray
bb5ac03edb Refactor: VariantIdx::from_u32(0) -> FIRST_VARIANT
Since structs are always `VariantIdx(0)`, there's a bunch of files where the only reason they had `VariantIdx` or `vec::Idx` imported at all was to get the first variant.

So this uses a constant for that, and adds some doc-comments to `VariantIdx` while I'm there, since it doesn't have any today.
2023-03-25 18:58:25 -07:00
bjorn3
a28adc881c
Merge pull request from bjorn3/dev-release
Publish latest build as release
2023-03-25 18:03:18 +01:00
bjorn3
aab1526164 Recreate the release every time
To ensure people who watch the repo for release notifications actually get a
notification.
2023-03-25 16:24:15 +00:00
bjorn3
eed1f75415 Don't store vector types in ssa variables
They have been causing a lot of trouble. For example current MIR
building thinks that it is fine to dynamically index into them. And
there are different paths depending on if the repr(simd) struct uses
fields or a single array as interior. There is also trouble with moving
the inner array of a repr(simd) type that is an array wrapper.

If performance becomes a concern, I will implement this in a more
principled way.
2023-03-25 14:30:12 +00:00