3697 Commits

Author SHA1 Message Date
Jakob Degen
5011ae46a1 Refactor call terminator to always hold a destination place 2022-05-23 17:49:04 -04:00
bjorn3
e97e40de22 Update rust-analyzer configuration 2022-05-22 20:35:24 +02:00
bjorn3
814ed4fa53 Rustup to rustc 1.63.0-nightly (c06728704 2022-05-19) 2022-05-20 18:19:15 +02:00
bjorn3
6c9a06e37d Update Cranelift and object 2022-05-20 16:44:20 +02:00
bjorn3
7a10059268 Fix symbol tables in case of multiple object files with the same name
Fixes #1228
2022-05-18 18:18:11 +02:00
bjorn3
01ab51bb16 Rustup to rustc 1.63.0-nightly (c52b9c10b 2022-05-16) 2022-05-17 11:39:43 +02:00
bjorn3
715533e936 Merge branch 'sync_from_rust' 2022-05-15 12:39:16 +02:00
bjorn3
d9025cebac Merge commit '63734fcdd718cca089f84c42f3a42c0096cfd431' into sync_cg_clif-2022-05-15 2022-05-15 12:32:19 +02:00
bjorn3
63734fcdd7 Rustup to rustc 1.62.0-nightly (70b3681bf 2022-05-14) 2022-05-15 12:26:21 +02:00
bjorn3
e5ff9f1b6d Sync from rust e1ec3260d79497080ca86540562d410ba67d2a95 2022-05-15 12:25:32 +02:00
Scott McMurray
bb7b844d7c Rename unsigned_offset_from to sub_ptr 2022-05-11 17:16:25 -07:00
Scott McMurray
06817d1bb3 Add unsigned_offset_from on pointers
Like we have `add`/`sub` which are the `usize` version of `offset`, this adds the `usize` equivalent of `offset_from`.  Like how `.add(d)` replaced a whole bunch of `.offset(d as isize)`, you can see from the changes here that it's fairly common that code actually knows the order between the pointers and *wants* a `usize`, not an `isize`.

As a bonus, this can do `sub nuw`+`udiv exact`, rather than `sub`+`sdiv exact`, which can be optimized slightly better because it doesn't have to worry about negatives.  That's why the slice iterators weren't using `offset_from`, though I haven't updated that code in this PR because slices are so perf-critical that I'll do it as its own change.

This is an intrinsic, like `offset_from`, so that it can eventually be allowed in CTFE.  It also allows checking the extra safety condition -- see the test confirming that CTFE catches it if you pass the pointers in the wrong order.
2022-05-11 17:16:25 -07:00
bjorn3
343c532f4f Use cfg(any()) instead of cfg(disabled)
Rustbuild uses --check-cfg without allowing disabled as cfg name
2022-05-11 10:49:31 +00:00
bjorn3
533f9d8a11
Merge pull request #1227 from Kmeakin/master
Only enable JIT tests on x86_64
2022-05-09 18:46:38 +02:00
Karl Meakin
e5f011aba6 Only enable JIT tests on x86_64
Cranelift currently only supports JIT on x86_64 targets.
Disable JIT tests on all other targets, so that failing tests are
ignored.
2022-05-09 16:34:16 +01:00
bjorn3
25f7711fea Rustup to rustc 1.62.0-nightly (77652b9ef 2022-05-06) 2022-05-07 14:56:36 +02:00
bjorn3
acf93987bc Rustfmt 2022-05-06 18:54:13 +02:00
bjorn3
74b9232ee8 Fix assert_assignable for array types
Fixes #1226
2022-05-06 18:26:20 +02:00
bjorn3
eb881b486f Add missing comma in vscode settings 2022-05-06 18:12:01 +02:00
bjorn3
ddde38d132 Fix jit mode with cargo-clif wrapper 2022-05-01 15:54:12 +02:00
bjorn3
f52162f75c Fix #[track_caller] location for function chains 2022-04-30 16:21:43 +02:00
bjorn3
f3fc94f239 Fix #[track_caller] with MIR inlining 2022-04-30 15:01:57 +02:00
bjorn3
f449c0d175 Remove profile overrides for build scripts and their dependencies
Cargo now disables optimizations for build scripts by default anyway, so
they aren't really useful anymore.
2022-04-30 14:09:03 +02:00
bjorn3
882c3900db Update object for the nightly Cranelift check 2022-04-30 13:44:18 +02:00
bjorn3
b84daf82eb Update actions/checkout to v3 2022-04-30 13:40:16 +02:00
bjorn3
9152ded3bf
Merge pull request #1225 from bjorn3/build_system_rework
Use -Zcodegen-backend instead of a custom rustc driver
2022-04-30 13:34:40 +02:00
bjorn3
88d058fef3 Don't unnecessarily copy rustc_std_workspace_std into the sysroot 2022-04-29 19:47:43 +02:00
bjorn3
2e65a8f2ca Use -Zcodegen-backend instead of a rustc replacement in cargo-clif 2022-04-29 19:13:41 +02:00
bjorn3
617171e930 Remove cg_clif_build_sysroot 2022-04-29 19:07:32 +02:00
bjorn3
377f44d38c Inline ext_config.sh 2022-04-29 19:07:29 +02:00
bjorn3
944a48d3af Remove less of the sysroot build dir on recompilation 2022-04-27 17:31:07 +02:00
bjorn3
88b5f5722a Use jit_builder.symbol instead of #[no_mangle] for __clif_jit_fn
#[no_mangle] doesn't resolve when the codegen backend is opened with RTLD_LOCAL
2022-04-27 17:30:46 +02:00
bjorn3
5e0c62372c Minor changes to tests.sh 2022-04-27 16:54:35 +02:00
bjorn3
f429b4093f Fix running the rustc test suite 2022-04-27 14:09:41 +02:00
bjorn3
7e45747a3d Rustup to rustc 1.62.0-nightly (082e4ca49 2022-04-26) 2022-04-27 12:32:20 +02:00
bjorn3
ea3bbf0451 Merge branch 'sync_from_rust' 2022-04-22 21:12:23 +02:00
bjorn3
32202f20cd Merge commit 'f2cdd4a78d89c009342197cf5844a21f8aa813df' into sync_cg_clif-2022-04-22 2022-04-22 21:11:38 +02:00
bjorn3
f2cdd4a78d Rustup to rustc 1.62.0-nightly (879aff385 2022-04-20) 2022-04-21 20:54:50 +02:00
bjorn3
acb32e6eb5 Sync from rust 1dec35a1b0df406da5d7cae55a7fa8d186a2b028 2022-04-21 20:23:21 +02:00
bjorn3
a177a7f9df Update Cranelift to 0.83.0 2022-04-21 19:22:12 +02:00
bjorn3
89c67a87bc Remove option to select regalloc algorithm
The main branch of Cranelift has switched to a new register allocator.
This register allocator doesn't have any alternative regalloc algorithms
unlike the old register allocator.
2022-04-17 19:41:28 +02:00
MikaelUrankar
83d470d91c
Don't assume /bin/bash is available on every system. (#1223)
Co-authored-by: MikaelUrankar <mikael.urankar@gmail.com>
2022-04-14 14:18:13 +02:00
Jakob Degen
a923e9211a Add new Deinit statement kind 2022-04-11 08:55:03 -04:00
klensy
f2d2ec3e93 check_doc_keyword: don't alloc string for emptiness check
check_doc_alias_value: get argument as Symbol to prevent needless string convertions

check_doc_attrs: don't alloc vec, iterate over slice. Vec introduced in #83149, but no perf run posted on merge

replace as_str() check with symbol check

get_single_str_from_tts: don't prealloc string

trivial string to str replace

LifetimeScopeForPath::NonElided use Vec<Symbol> instead of Vec<String>

AssertModuleSource use BTreeSet<Symbol> instead of BTreeSet<String>

CrateInfo.crate_name replace FxHashMap<CrateNum, String> with FxHashMap<CrateNum, Symbol>
2022-04-08 11:45:57 +03:00
Oli Scherer
2efede7749 Mark scalar layout unions so that backends that do not support partially initialized scalars can special case them. 2022-04-05 13:18:21 +00:00
bjorn3
557a09f6b5 Ignore broken rustc test 2022-04-05 12:46:56 +02:00
bjorn3
b87d7834c0 Rustup to rustc 1.62.0-nightly (60e50fc1c 2022-04-04) 2022-04-05 11:44:41 +02:00
bjorn3
bc62bd55bd Sync from rust 949b98cab8a186b98bf87e64374b8d0848c55271 2022-04-05 11:31:42 +02:00
Loïc BRANSTETT
69046fa8fd Cleanup after some refactoring in rustc_target 2022-04-03 21:29:57 +02:00
Yuri Astrakhan
7665d87638 Addressed comments by @compiler-errors and @bjorn3 2022-03-30 17:04:46 -04:00