Commit Graph

3461 Commits

Author SHA1 Message Date
bjorn3
72e67c862f Fix compiling all tests with LLVM 2023-05-24 17:27:32 +00:00
bjorn3
5b3bc29008 Allow testing a cranelift backend built into rustc itself
This avoids building cranelift twice in rust's CI and is a lot easier
than trying to make building of codegen backends work from within a
cargo invocation done by rust's build system.
2023-05-24 17:27:28 +00:00
bjorn3
c87dfd9c9d Update Cranelift to 0.96.1
There was a minor bug in Wasmtime that needed a new release. Nothing
changed in Cranelift.
2023-05-23 11:55:07 +00:00
bjorn3
031bfa659f Print symbol name in PrintOnPanic for define_function 2023-05-23 11:48:34 +00:00
bjorn3
a684753a68
Merge pull request #1374 from bjorn3/non_rustup_build3
Allow building and testing without rustup
2023-05-22 20:58:07 +02:00
bjorn3
24f1569c85 Enable overflow-checks on CI
Unlike rustc with cargo debug-assertions = true doesn't imply overflow-checks = true
2023-05-22 18:35:56 +00:00
bjorn3
a555b8ab7e Add fixme 2023-05-22 17:17:50 +00:00
bjorn3
a2f720d9fe Allow building and testing without rustup
This can be done by installing the nightly specified in
rust-toolchain.toml and then pointing the CARGO, RUSTC and RUSTDOC env
vars to the right executables.
2023-05-22 17:17:05 +00:00
bjorn3
22befab611 Avoid hard-coding rustc path in prepare.rs 2023-05-22 17:17:05 +00:00
bjorn3
b1d8b7186c Only pass --frozen to cargo when it is passed to y.rs 2023-05-22 17:17:05 +00:00
bjorn3
2155c03500 Inline Compiler::bootstrap_with_triple 2023-05-22 17:10:55 +00:00
bjorn3
de8a4d5d46 Remove all implicit "rustc" from rustc_info.rs 2023-05-22 17:10:55 +00:00
bjorn3
6900c9943d Update Cranelift to 0.96.0 2023-05-22 16:06:01 +00:00
bjorn3
b773282309 Use --sysroot ... instead of --sysroot=...
Rust's build system doesn't handle --sysroot=... correctly
2023-05-14 13:00:00 +00:00
bjorn3
521d937116 Pass --cap-lints=allow to tests 2023-05-14 12:53:00 +00:00
bjorn3
d16ba45fe4
Merge pull request #1373 from bjorn3/more_bench
Benchmark clif release builds with ./y.rs bench
2023-05-14 14:49:55 +02:00
bjorn3
a43f08363e Benchmark clif release builds with ./y.rs bench 2023-05-14 12:19:11 +00:00
bjorn3
88ae8fc9c8 Allow passing more than two commands to benchmark to hyperfine_command 2023-05-14 12:04:55 +00:00
bjorn3
d2a8023948 Fix CirrusCI 2023-05-14 10:17:12 +00:00
bjorn3
e39191594f Support _mm_movemask_ps 2023-05-12 17:07:38 +00:00
bjorn3
899d193c9d Implement a couple more platform intrinsics 2023-05-12 17:07:31 +00:00
bjorn3
ecbb33a71b Implement and fix a couple more simd intrinsics 2023-05-12 13:25:58 +00:00
bjorn3
f6ba10dead Fix rustc test suite 2023-05-12 12:58:56 +00:00
bjorn3
9b2a0984e9 Rustup to rustc 1.71.0-nightly (2a8221dbd 2023-05-11) 2023-05-12 12:50:44 +00:00
bjorn3
d6656403a3 Sync from rust 2a8221dbdf 2023-05-12 12:45:38 +00:00
Kyle Matsuda
db3faa78d0 use EarlyBinder in tcx.(try_)subst_mir_and_normalize_erasing_regions 2023-05-06 22:32:39 -06:00
bjorn3
dfb11195da Replace once_cell with the newly stabilized std::sync::OnceLock 2023-05-05 18:55:34 +00:00
bjorn3
4ef286c038 Fix rustc test suite 2023-05-05 12:46:12 +00:00
bjorn3
332b54a6d3 Rustup to rustc 1.71.0-nightly (74c482104 2023-05-04) 2023-05-05 12:45:06 +00:00
bjorn3
7905fa92ce Fix rustc test suite 2023-05-04 11:24:58 +00:00
bjorn3
edd0e5df3b Rustup to rustc 1.71.0-nightly (473f916d8 2023-05-03) 2023-05-04 10:21:07 +00:00
bjorn3
b7decf2899 Sync from rust 473f916d83 2023-05-04 10:14:36 +00:00
Nicholas Nethercote
a4c49374cb Restrict From<S> for {D,Subd}iagnosticMessage.
Currently a `{D,Subd}iagnosticMessage` can be created from any type that
impls `Into<String>`. That includes `&str`, `String`, and `Cow<'static,
str>`, which are reasonable. It also includes `&String`, which is pretty
weird, and results in many places making unnecessary allocations for
patterns like this:
```
self.fatal(&format!(...))
```
This creates a string with `format!`, takes a reference, passes the
reference to `fatal`, which does an `into()`, which clones the
reference, doing a second allocation. Two allocations for a single
string, bleh.

This commit changes the `From` impls so that you can only create a
`{D,Subd}iagnosticMessage` from `&str`, `String`, or `Cow<'static,
str>`. This requires changing all the places that currently create one
from a `&String`. Most of these are of the `&format!(...)` form
described above; each one removes an unnecessary static `&`, plus an
allocation when executed. There are also a few places where the existing
use of `&String` was more reasonable; these now just use `clone()` at
the call site.

As well as making the code nicer and more efficient, this is a step
towards possibly using `Cow<'static, str>` in
`{D,Subd}iagnosticMessage::{Str,Eager}`. That would require changing
the `From<&'a str>` impls to `From<&'static str>`, which is doable, but
I'm not yet sure if it's worthwhile.
2023-05-03 08:44:39 +10:00
Ben Kimock
249a6f8fe1 Box AssertKind 2023-05-01 23:12:41 -04:00
Ralf Jung
d530c043f7 Merge from rustc 2023-04-30 22:35:29 +02:00
bjorn3
215dd7aa0d Add some extra instructions for using the precompiled builds 2023-04-29 13:31:06 +00:00
bjorn3
456ef8b39f Merge branch 'sync_from_rust' 2023-04-29 12:05:00 +00:00
bjorn3
8bf550e616 Merge commit 'ef07e8e60f994ec014d049a95591426fb92ebb79' into sync_cg_clif-2023-04-29 2023-04-29 12:00:43 +00:00
bjorn3
ef07e8e60f Integrate better with Cranelift's profiling infrastructure 2023-04-29 11:27:28 +00:00
bjorn3
517b5c1f1b Update Cranelift to 0.95.1
This version was released as part of a security fix for Wasmtime. The
fix didn't change Cranelift though, so this commit is not strictly
necessary, but also doesn't hurt.
2023-04-29 11:24:05 +00:00
bjorn3
ee3721eec6 Rustup to rustc 1.71.0-nightly (f49560538 2023-04-28) 2023-04-29 11:16:48 +00:00
bjorn3
72022bb24d Sync from rust f495605381 2023-04-29 11:10:56 +00:00
Ralf Jung
7a77541c06 Merge from rustc 2023-04-28 15:49:39 +02:00
Boxy
2f624db5ea rename needs_infer to has_infer 2023-04-27 08:35:19 +01:00
Ralf Jung
20571f60bb Merge from rustc 2023-04-26 09:51:54 +02:00
Scott McMurray
065d81ac6f Lower intrinsics::offset to mir::BinOp::Offset
They're semantically the same, so this means the backends don't need to handle the intrinsic and means fewer MIR basic blocks in pointer arithmetic code.
2023-04-25 19:23:45 -07:00
bjorn3
0c79ce3bac Add two fixmes 2023-04-25 17:40:12 +00:00
bjorn3
c5be67ba36 Pass all extra args in rustc-clif before user supplied args
This allows the user to overwrite them and prevents confusing error
messages if the last argument supplied expects a value.
2023-04-25 17:39:20 +00:00
bjorn3
a7c797909c Make rustdoc using run-make tests work 2023-04-25 13:43:27 +00:00
bjorn3
b56d4ab66b Update portable-simd test 2023-04-25 12:32:24 +00:00