Commit Graph

8601 Commits

Author SHA1 Message Date
bors eb0f3ed59c Auto merge of #115025 - ouz-a:ouz_testing, r=lcnr
Make subtyping explicit in MIR

This adds new mir-opt that pushes new `ProjectionElem` called `ProjectionElem::Subtype(T)` to `Rvalue` of a subtyped assignment so we can unsoundness issues like https://github.com/rust-lang/rust/issues/107205

Addresses https://github.com/rust-lang/rust/issues/112651

r? `@lcnr`
2023-10-03 10:02:52 +00:00
ouz-a 5d753abb30 have better explanation for relate_types 2023-10-02 23:39:45 +03:00
ouz-a 6f0c5ee2d4 change is_subtype to relate_types 2023-10-02 23:39:45 +03:00
ouz-a 3148e6a993 subtyping_projections 2023-10-02 23:37:49 +03:00
Tyler Mandry 14f6249018 Rollup merge of #114453 - Kobzol:ci-group-stdout, r=onur-ozkan
Print GHA log groups to stdout instead of stderr

In all other places (e.g. `bootstrap.py`, `opt-dist`), we use stdout instead of stderr. I think that using stderr might be causing some discrepancies in the log, where sometimes the contents of a group "leak" outside the group. Let's see what happens if we use stdout instead. It's possible that it will be worse, since we print most stuff to stderr (?).

r? `@ghost`
2023-10-02 16:09:41 -04:00
bors 781ebbec8a Auto merge of #115898 - onur-ozkan:config-change-tracking, r=Mark-Simulacrum
bootstrap major change detection implementation

The use of `changelog-seen` and `bootstrap/CHANGELOG.md` has not been functional in any way for many years. We often do major/breaking changes but never update the changelog file or the `changelog-seen`. This is an alternative method for tracking major or breaking changes and informing developers when such changes occur.

Example output when bootstrap detects a major change:
![image](https://github.com/rust-lang/rust/assets/39852038/ee802dfa-a02b-488b-a433-f853ce079b8a)
2023-10-02 07:41:52 +00:00
onur-ozkan 957de61594 implement major change tracking for the bootstrap configuration
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-10-01 16:54:52 +03:00
bors 7c3eeb92a5 Auto merge of #116307 - RalfJung:miri, r=RalfJung
Miri subtree update

r? `@ghost`
2023-10-01 07:43:21 +00:00
bors 8fa7bdf191 Auto merge of #115670 - Zoxc:outline-panic-macro-1, r=Mark-Simulacrum
Partially outline code inside the panic! macro

This outlines code inside the panic! macro in some cases. This is split out from https://github.com/rust-lang/rust/pull/115562 to exclude changes to rustc.
2023-10-01 05:56:47 +00:00
Ralf Jung 119113114c clippy 2023-09-30 23:32:23 +02:00
Ralf Jung 45d5733ccb fmt 2023-09-30 23:30:51 +02:00
Ralf Jung 9a86bba831 Merge from rustc 2023-09-30 23:29:17 +02:00
Ralf Jung d628338615 Preparing for merge from rustc 2023-09-30 23:29:13 +02:00
bors a456149187 Auto merge of #3086 - eduardosm:x86-sse3-intrinsics, r=RalfJung
Implement SSE3 and SSSE3 intrinsics
2023-09-30 20:29:22 +00:00
Samuel Thibault 97bb8c80ed Bump libloading to 0.8 2023-09-30 15:59:14 +02:00
bors 75d731eee9 Auto merge of #116254 - WaffleLapkin:nicen-traversal, r=cjgillot
Assorted improvements for `rustc_middle::mir::traversal`

r? `@cjgillot`

I'm not _entirely_ sure about all changes, although I do like all of them. If you'd like I can drop some commits. Best reviewed on a commit-by-commit basis, I think, since they are fairly isolated.
2023-09-30 12:38:12 +00:00
Eduardo Sánchez Muñoz 2c13713de4 Implement llvm.x86.ssse3.* intrinsics 2023-09-30 11:30:03 +02:00
Eduardo Sánchez Muñoz 4b2b0eaff2 Implement llvm.x86.sse3.* intrinsics 2023-09-30 11:30:03 +02:00
bors 177091258c Auto merge of #116280 - weihanglo:update-cargo, r=weihanglo
Update cargo

4 commits in e6aabe8b3fcf639be3a5bf68e77853bd7b3fa27d..59596f0f31a94fde48b5aa7e945cd0b7ceca9620
2023-09-26 16:31:53 +0000 to 2023-09-29 19:29:17 +0000
- refactor: Switch from termcolor to anstream (rust-lang/cargo#12751)
- Add missing `strip` entries in `dev` and `release` profiles. (rust-lang/cargo#12748)
- Add better suggestion for the unsupported silent flag (rust-lang/cargo#12723)
- docs(ref): Establish publish best practices (rust-lang/cargo#12745)

r? ghost
2023-09-30 05:53:30 +00:00
bors 9136560d32 Auto merge of #115933 - oli-obk:simd_shuffle_const, r=workingjubilee
Prototype using const generic for simd_shuffle IDX array

cc https://github.com/rust-lang/rust/issues/85229

r? `@workingjubilee` on the design

TLDR: there is now a `fn simd_shuffle_generic<T, U, const IDX: &'static [u32]>(x: T, y: T) -> U;` intrinsic that allows replacing

```rust
simd_shuffle(a, b, const { stuff })
```

with

```rust
simd_shuffle_generic::<_, _, {&stuff}>(a, b)
```

which makes the compiler implementations much simpler, if we manage to at some point eliminate `simd_shuffle`.

There are some issues with this today though (can't do math without bubbling it up in the generic arguments). With this change, we can start porting the simple cases and get better data on the others.
2023-09-30 04:05:26 +00:00
Weihang Lo 1ad3bb971b Update cargo 2023-09-30 09:06:06 +08:00
bors b8b376a287 Auto merge of #115368 - loongarch-rs:none-tier2, r=pietroalbini
Promote loongarch64-unknown-none* to Tier 2

MCP: https://github.com/rust-lang/compiler-team/issues/664
2023-09-30 00:33:43 +00:00
Matthias Krüger 3ee2c526df Rollup merge of #116263 - ferrocene:pa-more-bare-metal-fixes, r=oli-obk
More fixes for running the test suite on a bare metal target

This PR adds more fixes needed to run the test suite on bare metal targets (in this case, without unwinding and with static relocations). There is no CI job exercising tests without unwinds, but I can confirm this worked in Ferrocene's CI.
2023-09-29 22:27:52 +02:00
bors a2395767f4 Auto merge of #3093 - eduardosm:llvm.x86.sse2.pmadd.wd, r=RalfJung
Implement the `llvm.x86.sse2.pmadd.wd` intrinsic
2023-09-29 15:26:51 +00:00
Eduardo Sánchez Muñoz 0c0c088e57 Implement the llvm.x86.sse2.pmadd.wd intrinsic 2023-09-29 16:12:37 +02:00
Pietro Albini 90f317b2de add needs-relocation-model-pic to compiletest 2023-09-29 13:10:26 +02:00
Matthias Krüger 92234f949a Rollup merge of #116245 - flip1995:clippy-backport, r=Manishearth
Clippy backport: Move needless_raw_string_hashes to pedantic

Really small backport this time. Context: https://github.com/rust-lang/rust-clippy/pull/11415#issuecomment-1739880932

I'd rather get this in 1.74 than waiting another release cycle.

r? `@Manishearth`

cc `@Mark-Simulacrum` This should be merged before beta is branched tomorrow.
2023-09-29 10:11:14 +02:00
Matthias Krüger 1ed00fe491 Rollup merge of #116234 - RalfJung:miri, r=RalfJung
Miri subtree update

r? `@ghost`
2023-09-29 10:11:13 +02:00
Matthias Krüger 0c45018473 Rollup merge of #116231 - DaniPopes:simpler-lint-array, r=Nilstrieb
Remove `rustc_lint_defs::lint_array`
2023-09-29 10:11:13 +02:00
Ralf Jung 71030bae75 add FMA test that would fail with apfloat 2023-09-29 07:33:45 +02:00
Ralf Jung 2f7fdd1ee9 add tests for '%' sign on floats 2023-09-29 07:33:45 +02:00
Maybe Waffle 27242437c7 Reverse postorder instead of using reversed postorder 2023-09-28 23:50:56 +00:00
DaniPopes f1b7484160 Remove rustc_lint_defs::lint_array 2023-09-28 23:01:25 +02:00
Alex Macleod 07f81cd58a Move needless_raw_string_hashes to pedantic 2023-09-28 21:24:42 +02:00
bors 6ef11ddc3b Auto merge of #3092 - RalfJung:ui-test, r=RalfJung
update ui_test

In particular this includes https://github.com/oli-obk/ui_test/pull/167 :)
2023-09-28 14:40:54 +00:00
Ralf Jung 377730efe4 update ui_test 2023-09-28 16:34:07 +02:00
bors dd91aba2fd Auto merge of #114882 - ChrisDenton:riddle-me, r=dtolnay
Update windows ffi bindings

Bump `windows-bindgen` to version 0.51.1. This brings with it some changes to the generated FFI bindings, but little that affects the code.

One change that does have more of an impact is `SOCKET` being `usize` instead of either `u64` or `u32` (as is used in std's public `SOCKET` type). However, it's now easy enough to abstract over that difference.

Finally I added a few new bindings that are likely to be used in pending PRs, mostly to make sure they're ok with the new metadata.

r? libs
2023-09-28 13:35:36 +00:00
The Miri Conjob Bot f2623ac49b Merge from rustc 2023-09-28 05:19:36 +00:00
The Miri Conjob Bot 3b091cb504 Preparing for merge from rustc 2023-09-28 05:11:51 +00:00
bors e7c502d930 Auto merge of #109597 - cjgillot:gvn, r=oli-obk
Implement a global value numbering MIR optimization

The aim of this pass is to avoid repeated computations by reusing past assignments. It is based on an analysis of SSA locals, in order to perform a restricted form of common subexpression elimination.

By opportunity, this pass allows for some simplifications by combining assignments. For instance, this pass could be able to see through projections of aggregates to directly reuse the aggregate field (not in this PR).

We handle references by assigning a different "provenance" index to each `Ref`/`AddressOf` rvalue. This ensure that we do not spuriously merge borrows that should not be merged. Meanwhile, we consider all the derefs of an immutable reference to a freeze type to give the same value:
```rust
_a = *_b // _b is &Freeze
_c = *_b // replaced by _c = _a
```
2023-09-27 21:06:30 +00:00
Ralf Jung c8a44b1eaf clippy 2023-09-27 08:50:16 +02:00
The Miri Conjob Bot b1f5c6683b Merge from rustc 2023-09-27 05:48:00 +00:00
The Miri Conjob Bot fc0d833f6f Preparing for merge from rustc 2023-09-27 05:38:37 +00:00
bors d206f2c085 Auto merge of #116189 - weihanglo:update-cargo, r=weihanglo
Update cargo

11 commits in 414d9e3a6d8096f3e276234ce220c868767a8792..e6aabe8b3fcf639be3a5bf68e77853bd7b3fa27d
2023-09-22 07:03:57 +0000 to 2023-09-26 16:31:53 +0000
- Use full target spec for `cargo rustc --print --target` (rust-lang/cargo#12743)
- feat(embedded): Hack in code fence support (rust-lang/cargo#12681)
- chore(ci): Update Renovate schema (rust-lang/cargo#12741)
- more specific registry index not found msg (rust-lang/cargo#12732)
- docs: warn about upload timeout (rust-lang/cargo#12733)
- Fix some typos (rust-lang/cargo#12730)
- upgrade gitoxide to v0.54 (rust-lang/cargo#12731)
- Update target-arch-aware crates to support mips r6 targets (rust-lang/cargo#12720)
- Buffer console status messages. (rust-lang/cargo#12727)
- Fix spurious errors with networking tests. (rust-lang/cargo#12726)
- refactor(SourceId): merge `name` and `alt_registry_key` into one enum (rust-lang/cargo#12675)

r? ghost
2023-09-27 03:41:23 +00:00
bors 6b99cf1d35 Auto merge of #116163 - compiler-errors:lazyness, r=oli-obk
Don't store lazyness in `DefKind::TyAlias`

1. Don't store lazyness of a type alias in its `DefKind`, but instead via a query.
2. This allows us to treat type aliases as lazy if `#[feature(lazy_type_alias)]` *OR* if the alias contains a TAIT, rather than having checks for both in separate parts of the codebase.

r? `@oli-obk` cc `@fmease`
2023-09-27 01:48:53 +00:00
Weihang Lo 0ff1254d91 Update cargo
New license exceptions from gix:

* (byteyarn", "Apache-2.0")
* ("encoding_rs", "(Apache-2.0 OR MIT) AND BSD-3-Clause")
2023-09-27 09:22:42 +08:00
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
Oli Scherer a9030e6688 Add tests for simd_shuffle{_generic} 2023-09-26 11:48:36 +00:00
WANG Rui d185e0d899 Promote loongarch64-unknown-none* to Tier 2
MCP: https://github.com/rust-lang/compiler-team/issues/664
2023-09-26 16:20:23 +08:00
lcnr 3c52a3e280 subst -> instantiate 2023-09-26 09:37:55 +02:00