Ralf Jung
ede985e8b8
add cast kind of from_exposed_addr (int-to-ptr casts)
2022-06-02 10:46:13 -04:00
Ralf Jung
722c724a95
rename PointerAddress → PointerExposeAddress
2022-06-01 14:08:17 -04:00
Tomasz Miąsko
e60087505e
Add a pointer to address cast kind
...
A pointer to address cast are often special-cased.
Introduce a dedicated cast kind to make them easy distinguishable.
2022-05-31 00:00:00 +00:00
Scott McMurray
4ee48c09ee
Use CallConv::Cold in cranelift for extern "rust-cold"
2022-05-30 00:19:24 -07:00
Scott McMurray
e2f90f7f74
Add support for emitting functions with coldcc
in LLVM
...
The eventual goal is to try using this for things like the internal panicking stuff, to see whether it helps.
2022-05-30 00:19:23 -07:00
5225225
d27ec6c86d
Add flag for stricter checks on uninit/zeroed
2022-05-24 14:26:52 +01:00
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 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