Commit Graph

2646 Commits

Author SHA1 Message Date
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 e1ec3260d7 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 1dec35a1b0 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 949b98cab8 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
Yuri Astrakhan
421baaff3f Spellchecking compiler comments
This PR cleans up the rest of the spelling mistakes in the compiler comments. This PR does not change any literal or code spelling issues.
2022-03-30 15:14:15 -04:00