bjorn3
c1fa3cf6c4
Sync from rust 8c74a5d27c
2023-06-15 17:40:32 +00:00
bjorn3
f2895f3143
Merge pull request #1357 from bjorn3/build_system_rework6
...
Support testing of cg_clif in rust's CI
2023-06-15 19:37:23 +02:00
bjorn3
e9bd63af3c
Ignore -Clink-arg=-import-instr-limit
2023-06-15 17:14:49 +00:00
bors
2445d740f7
Auto merge of #112314 - ferrocene:pa-core-alloc-abort, r=bjorn3
...
Ignore `core`, `alloc` and `test` tests that require unwinding on `-C panic=abort`
Some of the tests for `core` and `alloc` require unwinding through their use of `catch_unwind`. These tests fail when testing using `-C panic=abort` (in my case through a target without unwinding support, and `-Z panic-abort-tests`), while they should be ignored as they don't indicate a failure.
This PR marks all of these tests with this attribute:
```rust
#[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
```
I'm not aware of a way to test this on rust-lang/rust's CI, as we don't test any target with `-C panic=abort`, but I tested this locally on a Ferrocene target and it does indeed make the test suite pass.
2023-06-13 19:03:27 +00:00
bjorn3
485d7e129f
Remove outdated fixme
2023-06-13 16:39:59 +00:00
bjorn3
a691b14aee
Allow skipping tests from the commandline
2023-06-13 16:39:59 +00:00
bjorn3
8c1c84d79e
Copy Cargo.lock over in ./y.sh prepare
...
This makes it easier for ./x.py to vendor all dependencies
2023-06-13 16:39:59 +00:00
bjorn3
bcac222013
Lazily patch the standard library
2023-06-13 16:39:59 +00:00
bjorn3
d0ea8bbc5e
Only copy library dir for stdlib
...
When building as part of rust, the sysroot source dir is symlinked to
the main source dir, which contains the build dir to which we are likely
copying.
2023-06-13 16:39:59 +00:00
bjorn3
6b9af8cb36
Disable all incremental compilation for CARGO_BUILD_INCREMENTAL=false
2023-06-13 16:39:59 +00:00
bjorn3
eb3e8bb7d7
Move some profile settings out of the stdlib cargo workspace patch
2023-06-13 16:39:59 +00:00
bjorn3
8ad9e9f861
Ensure everything has a lockfile
2023-06-13 16:39:59 +00:00
bjorn3
d3da972441
Write stdlib workspace Cargo.toml directly in prepare.rs
2023-06-13 16:39:59 +00:00
bjorn3
67f9fe6863
Lazily patch all test projects
2023-06-13 16:39:59 +00:00
bjorn3
3baee66f9b
Rework standard library building
2023-06-13 16:39:59 +00:00
bjorn3
54eaa5382c
Enable compiler-builtins no-asm feature using --features flag
2023-06-13 16:39:59 +00:00
bjorn3
b9129c0d6b
Rename a couple of build dirs for consistency
2023-06-13 16:39:59 +00:00
bjorn3
fc23a8a7e0
Lazily patch coretests
2023-06-13 16:39:59 +00:00
bjorn3
2c38effe28
Don't patch in place in apply_patches
...
This will make it easier to skip patching if unnecessary in the future
2023-06-13 16:39:59 +00:00
bjorn3
75327f8587
Reuse existing download in y.sh prepare if fresh
2023-06-13 16:39:59 +00:00
bjorn3
0e4139922e
Put patched sources in build/ instead of download/
2023-06-13 16:39:59 +00:00
bjorn3
d0b8896189
Allow building the build system using cargo
...
Rust's build system only handles cargo, not rustc.
2023-06-13 16:39:59 +00:00
bjorn3
ce3f300e40
Add --download-dir option to specify download dir separate from --out-dir
2023-06-13 16:39:59 +00:00
Pietro Albini
7886be6327
remove patch from cranelift backend to ignore unwinding tests
2023-06-13 15:53:26 +02:00
bjorn3
45781e107c
Fix rustc test suite
2023-06-13 12:31:34 +00:00
bjorn3
5d592ea79a
Rustup to rustc 1.72.0-nightly ( df77afbca
2023-06-12)
2023-06-13 10:45:27 +00:00
bjorn3
c870c67bb2
Sync from rust df77afbcaf
2023-06-13 10:40:16 +00:00
bjorn3
436bed8b7f
Rustup to rustc 1.72.0-nightly ( e6d4725c7
2023-06-05)
2023-06-06 14:12:03 +00:00
bjorn3
d4d8f1c1ff
Sync from rust e6d4725c76
2023-06-06 14:00:40 +00:00
bjorn3
c09ef96878
Implement _mm_shuffle_epi8
2023-06-06 09:34:21 +00:00
bjorn3
e4d0811360
Implement _mm_srli_epi16 and _mm_slli_epi16
2023-06-06 09:34:21 +00:00
bjorn3
f36bb6d529
Make unimplemented trap messages show up in more contexts
2023-06-06 09:34:21 +00:00
bjorn3
11b3fc686c
Update object to 0.30.4
...
Fixes #1377
2023-06-06 08:20:44 +00:00
bjorn3
204c64bda1
Merge pull request #1378 from bjorn3/more_vendor_intrinsics
...
Implement all vendor intrinsics used by regex on AVX2 systems
2023-06-05 20:42:09 +02:00
bjorn3
8fbd6f521a
Skip LLVM sysroot testing for native x86_64-pc-windows-gnu in CI
...
It is way too slow and cross-compiled x86_64-pc-windows-gnu covers at
least part of the tests.
2023-06-05 17:20:59 +00:00
bjorn3
1797ae5174
Define rust_eh_personality for alloc_example
...
x86_64-pc-windows-gnu requires it to be defined.
2023-06-05 16:54:37 +00:00
bjorn3
aeac484d18
Run tests with LLVM sysroot in CI
2023-06-05 16:41:03 +00:00
bjorn3
76900705e8
Implement all vendor intrinsics used by regex on AVX2 systems
...
This allows it to work with --sysroot llvm
2023-06-05 15:33:54 +00:00
Andrew Xie
f8cde5884d
Updated cranelift codegen to reflect modified trait signature
2023-06-04 21:54:38 -04:00
Michael Goulet
4ecd45a588
Rollup merge of #112168 - scottmcm:lower-div-rem-unchecked-to-mir, r=oli-obk
...
Lower `unchecked_div`/`_rem` to MIR's `BinOp::Div`/`Rem`
As described in <https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/enum.BinOp.html#variant.Div >, the ordinary `BinOp`s for these are already UB for division by zero ([or overflow](https://llvm.org/docs/LangRef.html#sdiv-instruction ), [demo](https://rust.godbolt.org/z/71e7P7Exh )), as MIR building is responsible for inserting code to panic for those cases regardless of whether the overflow checks are enabled.
So we can lower these in the same arm that lowers `wrapping_add` to MIR `BinOp::Add` and such, as all these cases turn into ordinary `Rvalue::BinaryOp`s.
2023-06-02 16:02:06 -07:00
bjorn3
e369cce377
Rustup to rustc 1.72.0-nightly ( d59363ad0
2023-06-01)
2023-06-02 12:51:40 +00:00
bjorn3
b1961baf43
Sync from rust d59363ad0b
2023-06-02 12:44:25 +00:00
Deadbeef
fcd93accb4
Use translatable diagnostics in rustc_const_eval
2023-06-01 14:45:18 +00:00
Scott McMurray
919da2f16c
remove unchecked_div/_rem from cg_cranelift
2023-06-01 00:05:55 -07:00
Nilstrieb
04dca8f1b2
Rollup merge of #112060 - lcnr:early-binder, r=jackh726
...
`EarlyBinder::new` -> `EarlyBinder::bind`
for consistency with `Binder::bind`. it may make sense to also add `EarlyBinder::dummy` in places where we know that no parameters exist, but I left that out of this PR.
r? `@jackh726` `@kylematsuda`
2023-05-30 12:57:40 +02:00
Matthias Krüger
a2a8589a8a
Rollup merge of #111827 - AngelicosPhosphoros:add_docs_to_cranelift, r=bjorn3
...
Add build instructions for cranelift backend as part of Rust repo
All other instructions assume that user works with separate repository than Rust compiler repository. When one follows default instructions, cranelift codegen tries to use different sys-root and compiler internal crates which leads to compiler errors when building it.
I needed to do all this steps while adding new intrinsic to rustc.
r? bjorn3
2023-05-29 21:34:16 +02:00
lcnr
b488625178
EarlyBinder::new -> EarlyBinder::bind
2023-05-29 13:46:10 +02:00
Kyle Matsuda
4e87728772
Replace EarlyBinder(x) with EarlyBinder::new(x)
2023-05-28 10:44:50 -06:00
bjorn3
62e603527d
Don't explicitly remove needs-unwind tests
...
Compiletest now respects panic=abort in the --print cfg output
2023-05-28 11:04:15 +00:00
bjorn3
d91fabd44f
Rustup to rustc 1.71.0-nightly ( cca7ee581
2023-05-27)
2023-05-28 09:55:04 +00:00