Commit Graph

8534 Commits

Author SHA1 Message Date
bors 5ae769f06b Auto merge of #116144 - lcnr:subst-less, r=oli-obk
subst -> instantiate

continues #110793, there are still quite a few uses of `subst` and `substitute`, but changing them all in the same PR was a bit too much, so I've stopped here for now.
2023-09-26 21:32:44 +00:00
lcnr 3c52a3e280 subst -> instantiate 2023-09-26 09:37:55 +02:00
bors d23062b5be Auto merge of #116139 - flip1995:clippyup, r=Manishearth
Clippy subtree update

r? `@Manishearth`
2023-09-26 07:20:55 +00:00
bors af68593179 Auto merge of #116029 - chenx97:mipsr6-update-crates, r=Mark-Simulacrum
Update crates for better MIPS R6 support

Update crates to remove dependency on old versions of rustix and linux-raw-sys. Update libc, rustix, and linux-raw-sys to enhance support for MIPS R6 introduced by #112374

Commands that do the update:

```shell
cargo +nightly update tempfile clap
cargo +nightly update linux-raw-sys rustix
```
2023-09-25 10:23:30 +00:00
Philipp Krones 3112e373ac Merge commit '7671c283a50b5d1168841f3014b14000f01dd204' into clippyup 2023-09-25 11:28:58 +02:00
bors 96ab09dbdd Auto merge of #116138 - RalfJung:miri, r=RalfJung
Miri subtree update

r? `@ghost`
2023-09-25 08:34:17 +00:00
Ralf Jung 085177678e remove some dead code
and add a comment in the AVX test
2023-09-25 08:56:19 +02:00
bors d644603b80 Auto merge of #3075 - eduardosm:x86-addcarry-subborrow, r=RalfJung
Move `llvm.x86.*` shims into `shims::x86` and implement `_addcarry_u32` and `_subborrow_u{32,64}`

This PR moves all `llvm.x86.*` shims into `shims::x86` and adds `llvm.x86.addcarry.32`, `llvm.x86.subborrow.32` and `llvm.x86.subborrow.64`.

Additionally, it fixes the input carry semantics of `llvm.x86.addcarry.32`. The input carry is an 8-bit value that is interpreted as 1 when it is non-zero.

https://www.intel.com/content/www/us/en/docs/cpp-compiler/developer-guide-reference/2021-8/addcarry-u32-addcarry-u64.html
2023-09-25 06:10:43 +00:00
Eduardo Sánchez Muñoz 4625e1e8ab Use cfg gates in x86 SSE and SSE2 tests 2023-09-25 07:18:10 +02:00
Eduardo Sánchez Muñoz a617b89996 Implement llvm.x86.subborrow.32 and llvm.x86.subborrow.64 2023-09-25 07:18:10 +02:00
Eduardo Sánchez Muñoz 6ec63ed251 Fix the carry semantics of _addcarry_u32 and _addcarry_u64
The input carry is an 8-bit value that is interpreted as 1 when it is non-zero. The output carry is an 8-bit value that will be 0 or 1.

https://www.intel.com/content/www/us/en/docs/cpp-compiler/developer-guide-reference/2021-8/addcarry-u32-addcarry-u64.html
2023-09-25 07:18:10 +02:00
Eduardo Sánchez Muñoz 356039985e Implement llvm.x86.addcarry.32 by refactoring llvm.x86.addcarry.64 to make it generic 2023-09-25 07:18:10 +02:00
Eduardo Sánchez Muñoz d6b30b88d0 Move llvm.x86.* implementations into shims::x86 2023-09-25 07:18:10 +02:00
chenx97 8e558bcf1e tidy: remove io-lifetimes from the dependency list 2023-09-24 21:11:24 +08:00
Eduardo Sánchez Muñoz 413ff386c2 Put AVX512 tests together 2023-09-24 11:57:53 +02:00
bors c7224e3c95 Auto merge of #105861 - Ayush1325:uefi-std-minimial, r=workingjubilee
Add Minimal Std implementation for UEFI

# Implemented modules:
1. alloc
2. os_str
3. env
4. math

# Related Links
Tracking Issue: https://github.com/rust-lang/rust/issues/100499
API Change Proposal: https://github.com/rust-lang/libs-team/issues/87

# Additional Information
This was originally part of https://github.com/rust-lang/rust/pull/100316. Since that PR was becoming too unwieldy and cluttered, and with suggestion from `@dvdhrm,` I have extracted a minimal std implementation to this PR.

The example in `src/doc/rustc/src/platform-support/unknown-uefi.md` has been tested for `x86_64-unknown-uefi` and `i686-unknown-uefi` in OVMF. It would be great if someone more familiar with AARCH64 can help with testing for that target.

Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2023-09-24 09:47:30 +00:00
The Miri Conjob Bot cf766029b6 fmt 2023-09-24 05:14:40 +00:00
The Miri Conjob Bot 8ae7c743bb Merge from rustc 2023-09-24 05:12:12 +00:00
The Miri Conjob Bot fdbf932499 Preparing for merge from rustc 2023-09-24 05:03:58 +00:00
bors 42ca6e4e57 Auto merge of #104385 - BlackHoleFox:apple-minimum-bumps, r=petrochenkov
Raise minimum supported Apple OS versions

This implements the proposal to raise the minimum supported Apple OS versions as laid out in the now-completed MCP (https://github.com/rust-lang/compiler-team/issues/556).

As of this PR, rustc and the stdlib now support these versions as the baseline:
- macOS: 10.12 Sierra
- iOS: 10
- tvOS: 10
- watchOS: 5 (Unchanged)

In addition to everything this breaks indirectly, these changes also erase the `armv7-apple-ios` target (currently tier 3) because the oldest supported iOS device now uses ARMv7s. Not sure what the policy around tier3 target removal is but shimming it is not an option due to the linker refusing.

[Per comment](https://github.com/rust-lang/compiler-team/issues/556#issuecomment-1297175073), this requires a FCP to merge. cc `@wesleywiser.`
2023-09-24 02:35:05 +00:00
BlackHoleFox 3b52befdce Raise minimum supported iOS version to 10.0
Drop the armv7-apple-ios target too because its no longer supported
with the hardware iOS 10 requires.
2023-09-23 19:14:25 -05:00
Camille GILLOT 44ac8dcc71 Remove GeneratorWitness and rename GeneratorWitnessMIR. 2023-09-23 13:47:30 +00:00
Camille GILLOT 6aa1268900 Bless clippy. 2023-09-23 13:47:30 +00:00
Camille GILLOT 286502c9ed Enable drop_tracking_mir by default. 2023-09-23 13:34:09 +00:00
The Miri Conjob Bot 3ca49cfe9d Merge from rustc 2023-09-23 05:17:05 +00:00
The Miri Conjob Bot 6870634232 Preparing for merge from rustc 2023-09-23 05:10:33 +00:00
bors bf982631df Auto merge of #116052 - oli-obk:ceci_nest_pas_une_query, r=WaffleLapkin
Add a way to decouple the implementation and the declaration of a TyCtxt method.

properly addresses https://github.com/rust-lang/rust/pull/115819

accepted MCP: https://github.com/rust-lang/compiler-team/issues/395
2023-09-23 04:41:09 +00:00
bors 2d08657901 Auto merge of #116066 - weihanglo:update-cargo, r=weihanglo
Update cargo

19 commits in b4ddf95ad9954118ac0dae835f2966394ad04c02..414d9e3a6d8096f3e276234ce220c868767a8792
2023-09-18 03:48:09 +0000 to 2023-09-22 07:03:57 +0000
- refactor(TomlManifest): fail when package_root is not a directory (rust-lang/cargo#12722)
- Better suggestion for unsupported mode in build command (rust-lang/cargo#12693)
- Update curl-sys to pull in curl 8.3.0 (rust-lang/cargo#12718)
- chore(ci): Ignore patch version in MSRV (rust-lang/cargo#12716)
- refactor: move cached crates.io SourceID to config module (rust-lang/cargo#12711)
- fix: typos in registry authentication documentation (rust-lang/cargo#12714)
- doc: mention unstable flag `-Z asymmetric-token` (rust-lang/cargo#12712)
- fix: copy PDBs for EFI targets (rust-lang/cargo#12688)
- infra: add auto-trigger rules for new labels (rust-lang/cargo#12713)
- fix: use channel-specific link for registry auth error (rust-lang/cargo#12709)
- Add some enhancements to `cargo clean` (rust-lang/cargo#12638)
- chore: Fix typos (rust-lang/cargo#12707)
- Shortest path (rust-lang/cargo#12678)
- doc/reference/manifest: Adjust `keywords` description (rust-lang/cargo#12705)
- Cargo add displays either feature list or summarized count (rust-lang/cargo#12702)
- SemVer: Update documentation about removing optional dependencies (rust-lang/cargo#12687)
- publish.py: Remove obsolete `sleep()` calls (rust-lang/cargo#12686)
- generalise suggestion on abiguous spec (rust-lang/cargo#12685)
- util/toml: Remove duplicate `serde(rename)` attributes (rust-lang/cargo#12682)

r? ghost
2023-09-23 02:23:44 +00:00
bors a0defe0a26 Auto merge of #3072 - eduardosm:llvm.ctpop, r=saethlin
Implement `llvm.ctpop.v*` intrinsics

Tested through x86 avx512vpopcntdq and avx512bitalg functions.

I picked them from https://github.com/rust-lang/miri/issues/2057#issuecomment-1716309674, which looked easy.
2023-09-23 00:38:26 +00:00
bors 55b5c7bfde Auto merge of #115695 - tmiasko:compiletest-supported-sanitizers, r=oli-obk
compiletest: load supported sanitizers from target spec
2023-09-23 00:25:14 +00:00
Oli Scherer 4ed4913e67 Merge ExternProviders into the general Providers struct 2023-09-22 20:15:34 +00:00
Ayush Singh 984ecefed8 Fixes from PR
- Hide Docs
- Use repr_unpacked error

Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com>
2023-09-22 23:56:51 +05:30
Weihang Lo 5db9a5ee38 Update cargo 2023-09-23 00:08:17 +08:00
bors 959b2c703d Auto merge of #115696 - RalfJung:closure-ty-print, r=oli-obk
adjust how closure/generator types are printed

I saw `&[closure@$DIR/issue-20862.rs:2:5]` and I thought it is a slice type, because that's usually what `&[_]` is... it took me a while to realize that this is just a confusing printer and actually there's no slice. Let's use something that cannot be mistaken for a regular type.
2023-09-22 15:19:38 +00:00
Ayush Singh 48c6ae0611 Add Minimal Std implementation for UEFI
Implemented modules:
1. alloc
2. os_str
3. env
4. math

Tracking Issue: https://github.com/rust-lang/rust/issues/100499
API Change Proposal: https://github.com/rust-lang/libs-team/issues/87

This was originally part of https://github.com/rust-lang/rust/pull/100316. Since
that PR was becoming too unwieldy and cluttered, and with suggestion
from @dvdhrm, I have extracted a minimal std implementation to this PR.

Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2023-09-22 17:23:30 +05:30
Oli Scherer 2157f31731 Add a way to decouple the implementation and the declaration of a TyCtxt method. 2023-09-22 09:23:15 +00:00
bors ce33ca0a1e Auto merge of #3074 - rust-lang:rustup-2023-09-22, r=RalfJung
Automatic sync from rustc
2023-09-22 08:36:18 +00:00
Ralf Jung 896065f902 clippy 2023-09-22 10:35:58 +02:00
bors 8759de0a49 Auto merge of #114776 - fee1-dead-contrib:enable-effects-in-libcore, r=oli-obk
Enable effects for libcore

~~r? `@oli-obk~~`

forgot you are on vacation, oops
2023-09-22 07:00:52 +00:00
The Miri Conjob Bot e6a4a1b12e fmt 2023-09-22 05:40:22 +00:00
The Miri Conjob Bot bf31cdb08a Merge from rustc 2023-09-22 05:37:52 +00:00
The Miri Conjob Bot 5211d045c9 Preparing for merge from rustc 2023-09-22 05:29:34 +00:00
Ralf Jung 838e6a6b78 run the cron job a bit earlier 2023-09-22 07:28:56 +02:00
Deadbeef ab168b6ef3 fix clippy errors (ignore effects in certainty) 2023-09-22 00:05:52 +00:00
Ralf Jung c4ec12f4b7 adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
Michael Goulet 087a571e70 Record asyncness span in HIR 2023-09-21 19:18:14 +00:00
Eduardo Sánchez Muñoz b075a9d2ab Implement llvm.ctpop.v* intrinsics
Tested through x86 avx512vpopcntdq and avx512bitalg functions.
2023-09-21 18:25:41 +02:00
bors 5b8695b6bc Auto merge of #3071 - RalfJung:deprecate-disable-abi, r=oli-obk,saethlin
deprecate -Zmiri-disable-abi-check

This was added in https://github.com/rust-lang/miri/pull/1776 but I couldn't find any discussion or motivation.
2023-09-21 15:40:16 +00:00
bors 0fd7ce99b0 Auto merge of #116010 - RalfJung:more-typed-immediates, r=oli-obk
interpret: more consistently use ImmTy in operators and casts

The diff in src/tools/miri/src/shims/x86/sse2.rs should hopefully suffice to explain why this is nicer. :)
2023-09-21 14:02:55 +00:00
Guillaume Gomez 208f6ed95c Rollup merge of #115972 - RalfJung:const-consistency, r=oli-obk
rename mir::Constant -> mir::ConstOperand, mir::ConstKind -> mir::Const

Also, be more consistent with the `to/eval_bits` methods... we had some that take a type and some that take a size, and then sometimes the one that takes a type is called `bits_for_ty`.

Turns out that `ty::Const`/`mir::ConstKind` carry their type with them, so we don't need to even pass the type to those `eval_bits` functions at all.

However this is not properly consistent yet: in `ty` we have most of the methods on `ty::Const`, but in `mir` we have them on `mir::ConstKind`. And indeed those two types are the ones that correspond to each other. So `mir::ConstantKind` should actually be renamed to `mir::Const`. But what to do with `mir::Constant`? It carries around a span, that's really more like a constant operand that appears as a MIR operand... it's more suited for `syntax.rs` than `consts.rs`, but the bigger question is, which name should it get if we want to align the `mir` and `ty` types? `ConstOperand`? `ConstOp`? `Literal`? It's not a literal but it has a field called `literal` so it would at least be consistently wrong-ish...

``@oli-obk`` any ideas?
2023-09-21 13:25:39 +02:00