Commit Graph

3100 Commits

Author SHA1 Message Date
Afonso Bordado
01d3e1a3ad Disable failing windows CI tests 2022-09-26 19:21:37 +01:00
Afonso Bordado
1878ca61bc Disable JIT Tests for windows 2022-09-26 19:21:37 +01:00
Afonso Bordado
481484c141 Windows MinGW & MSVC Matrix CI 2022-09-26 19:21:30 +01:00
Afonso Bordado
ba56e8f313 Remove MSVC Check 2022-09-26 19:21:26 +01:00
bjorn3
88522158b2 Re-enable structs abi-cafe test on AArch64 2022-09-26 16:21:57 +00:00
bjorn3
10a2b70231 Remove stabilized feature gate 2022-09-26 16:20:11 +00:00
bjorn3
f90bc3009a Enable stack probing on x86_64
Cranelift now supports inline stack probes on x86_64
2022-09-26 16:20:11 +00:00
Afonso Bordado
0035f09c5a Avoid masking shift amounts
Cranelift 0.87 now follows its own documentation regarding
shift amounts, and implicitly masks them if the arch requires it. [0]

[0]: 0508932174
2022-09-26 16:20:11 +00:00
bjorn3
72992c483c Update to Cranelift 0.88.0 2022-09-26 16:20:11 +00:00
bjorn3
7dccb51fe3 Abi-checker got renamed to abi-cafe 2022-09-26 13:56:18 +02:00
bjorn3
27a1fd30d2 Merge branch 'rustup' 2022-09-25 15:02:13 +00:00
bjorn3
887ca1fd2a Update rustc test suite failure list 2022-09-25 14:06:07 +00:00
bjorn3
322ff0ba05 Work around rustbuild bug 2022-09-25 14:05:01 +00:00
bjorn3
94d52158c6 Work around rust-lang/libc#2924 2022-09-25 13:40:43 +00:00
bjorn3
d422d50651 Pass --sysroot when building the new sysroot
To avoid accidentally loading the original libcore
2022-09-25 15:14:59 +02:00
bjorn3
f82016891a Fix cpuid replacement shim 2022-09-25 14:58:33 +02:00
bjorn3
241eae76e2 Monomorphize ConstantKind::Unevaluated in mir_operand_get_const_val 2022-09-25 14:44:51 +02:00
bjorn3
5ed4377677 Fix ConstantKind::Ty codegen 2022-09-25 14:35:21 +02:00
bjorn3
b3d3ba9928 Rustup to rustc 1.66.0-nightly (3f83906b3 2022-09-24) 2022-09-25 14:11:30 +02:00
bjorn3
385003e4c1 Sync from rust 8e9c93df46 2022-09-25 13:55:23 +02:00
b-naber
7e250da20f rename Unevaluated to UnevaluatedConst 2022-09-23 14:27:34 +02:00
b-naber
3c5882018f introduce mir::Unevaluated 2022-09-22 12:35:28 +02:00
bors
6eeefe2ce6 Auto merge of #99806 - oli-obk:unconstrained_opaque_type, r=estebank
Allow patterns to constrain the hidden type of opaque types

fixes #96572

reverts a revert as original PR was a perf regression that was fixed by reverting it: https://github.com/rust-lang/rust/pull/99368#issuecomment-1186587864)

TODO:

* check if https://github.com/rust-lang/rust/issues/99685 is avoided
2022-09-20 12:09:52 +00:00
bors
6214e085ed Auto merge of #98588 - b-naber:valtrees-cleanup, r=lcnr
Use only ty::Unevaluated<'tcx, ()> in type system

r? `@lcnr`
2022-09-17 03:04:22 +00:00
Oli Scherer
93af5f5999 Revert "Revert "Rollup merge of #98582 - oli-obk:unconstrained_opaque_type, r=estebank""
This reverts commit 4a742a691e.
2022-09-16 11:36:39 +00:00
b-naber
d7c77313cb nits 2022-09-15 22:27:41 +02:00
bjorn3
d82b696594 Update for latests rustc test suite changes 2022-09-15 16:14:29 +00:00
bjorn3
b023e2f7d0 Fix bundled static libraries 2022-09-15 16:05:27 +00:00
bjorn3
879c86ff30 Implement dyn* support 2022-09-15 14:08:30 +00:00
bjorn3
f68742a03c Rustup to rustc 1.65.0-nightly (750bd1a7f 2022-09-14) 2022-09-15 14:59:14 +02:00
bjorn3
75d24552aa Sync from rust 00fcc82df2 2022-09-15 14:53:37 +02:00
bors
e4d2f94a83 Auto merge of #101212 - eholk:dyn-star, r=compiler-errors
Initial implementation of dyn*

This PR adds extremely basic and incomplete support for [dyn*](https://smallcultfollowing.com/babysteps//blog/2022/03/29/dyn-can-we-make-dyn-sized/). The goal is to get something in tree behind a flag to make collaboration easier, and also to make sure the implementation so far is not unreasonable. This PR does quite a few things:

* Introduce `dyn_star` feature flag
* Adds parsing for `dyn* Trait` types
* Defines `dyn* Trait` as a sized type
* Adds support for explicit casts, like `42usize as dyn* Debug`
  * Including const evaluation of such casts
* Adds codegen for drop glue so things are cleaned up properly when a `dyn* Trait` object goes out of scope
* Adds codegen for method calls, at least for methods that take `&self`

Quite a bit is still missing, but this gives us a starting point. Note that this is never intended to become stable surface syntax for Rust, but rather `dyn*` is planned to be used as an implementation detail for async functions in dyn traits.

Joint work with `@nikomatsakis` and `@compiler-errors.`

r? `@bjorn3`
2022-09-14 18:10:51 +00:00
b-naber
a10dd1f340 address review again 2022-09-14 17:30:25 +02:00
Eric Holk
6d544a8a4c Address code review comments 2022-09-13 14:50:12 -07:00
b-naber
fa35afe8dc cranelift changes 2022-09-13 17:44:49 +02:00
b-naber
da373e3ea8 use ty::Unevaluated<'tcx, ()> in type system 2022-09-13 17:40:59 +02:00
bors
11c831d696 Auto merge of #99556 - davidtwco:collapse-debuginfo, r=wesleywiser
ssa: implement `#[collapse_debuginfo]`

cc #39153 rust-lang/compiler-team#386

Debuginfo line information for macro invocations are collapsed by default - line information are replaced by the line of the outermost expansion site. Using `-Zdebug-macros` disables this behaviour.

When the `collapse_debuginfo` feature is enabled, the default behaviour is reversed so that debuginfo is not collapsed by default. In addition, the `#[collapse_debuginfo]` attribute is available and can be applied to macro definitions which will then have their line information collapsed.

r? rust-lang/wg-debugging
2022-09-13 01:19:05 +00:00
Eric Holk
0221923952 Make x.py check work 2022-09-12 17:29:11 -07:00
bjorn3
107f9d8813
Merge pull request #1279 from bjorn3/build_system_rework
Some refactorings for the build system
2022-09-12 13:12:59 +02:00
bjorn3
a65c881aa3 Introduce hyperfine_command helper 2022-09-12 10:35:38 +00:00
bjorn3
be305c2b1f Introduce cargo_command helper 2022-09-12 10:35:38 +00:00
bjorn3
c677cba06b More uniform imports 2022-09-12 10:35:38 +00:00
bjorn3
721668f133 Tiny cleanup 2022-09-12 10:35:38 +00:00
bjorn3
b12286fec3 Let abi-checker take the full path to the cg_clif dylib 2022-09-12 10:35:38 +00:00
bjorn3
917be273ab Minor improvement to apply_patches 2022-09-12 10:35:38 +00:00
bjorn3
87bbc2d413 Rustup to rustc 1.65.0-nightly (59e7a308e 2022-09-11) 2022-09-12 12:28:14 +02:00
bjorn3
3afa1d6f32 Sync from rust 56e7678ca9 2022-09-12 11:47:11 +02:00
bors
16ed191362 Auto merge of #101483 - oli-obk:guaranteed_opt, r=fee1-dead
The `<*const T>::guaranteed_*` methods now return an option for the unknown case

cc https://github.com/rust-lang/rust/issues/53020#issuecomment-1236932443

I chose `0` for "not equal" and `1` for "equal" and left `2` for the unknown case so backends can just forward to raw pointer equality and it works 

r? `@fee1-dead` or `@lcnr`

cc `@rust-lang/wg-const-eval`
2022-09-10 09:50:21 +00:00
Oli Scherer
931c07c94f The <*const T>::guaranteed_* methods now return an option for the unknown case 2022-09-09 15:16:04 +00:00
bjorn3
fa7660440b
Merge pull request #1277 from bjorn3/simd_improvements
Implement a couple of portable simd intrinsics
2022-09-09 09:11:41 +02:00