Commit graph

8593 commits

Author SHA1 Message Date
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
bors
d23062b5be Auto merge of #116139 - flip1995:clippyup, r=Manishearth
Clippy subtree update

r? `@Manishearth`
2023-09-26 07:20:55 +00:00
Michael Goulet
d6ce9ce115 Don't store lazyness in DefKind 2023-09-26 02:53:59 +00:00
bors
e86c68aa54 Auto merge of #3085 - RalfJung:test-norm, r=RalfJung
fix normalization in backtrace-api tests

also remove a normalization rule that doesn't seem to apply
2023-09-25 15:48:48 +00:00
bors
32c0afb880 Auto merge of #3083 - saethlin:gc-history, r=oli-obk
GC the Stacked Borrows allocation history

This handles the biggest contributor to https://github.com/rust-lang/miri/issues/3080

The benchmark that this adds demonstrates the memory improvement here, but our benchmark setup doesn't record memory usage, and `hyperfine` doesn't support emitting memory usage stats. I ran this benchmark manually with `/usr/bin/time -v cargo +miri miri run` 🤷
2023-09-25 15:04:14 +00:00
Ralf Jung
ee30aaf7ea fix normalization in backtrace-api tests
also remove a normalization rule that doesn't seem to apply
2023-09-25 15:02:04 +02:00
bors
b4dc4f3c1c Auto merge of #3008 - oli-obk:ui_test_progress_bars, r=RalfJung
bump ui test crate

The recommended way to run tests locally is `./miri bless -- -- --quiet`, which will show

* progress bars
* the currently running tests (allowing you to see which ones are still running towards the end of the test suite)
* the output of the currently running tests (if they are slow). This means slow running tests can output lines to `stderr` and the last line will be shown after the test name and updated every few hundred milliseconds.

As a side effect this PR also fixes #2998 and only builds dependencies if any tests actually need them (this means that with the next ui_test update we'll be able to merge all our test suites).

Also fixes https://github.com/rust-lang/miri/issues/3052.
2023-09-25 11:30:12 +00:00
Oli Scherer
71aea48fc6 Explain single element vector 2023-09-25 10:32:24 +00:00