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