bjorn3
45c2002f08
Update abi-cafe test expectations for a recent fix of the rust abi
2024-10-20 14:29:22 +00:00
bjorn3
04f33cc839
Rustup to rustc 1.84.0-nightly ( da935398d
2024-10-19)
2024-10-20 14:14:00 +00:00
bjorn3
383bb665d2
Sync from rust da935398d5
2024-10-20 13:57:42 +00:00
Michael Goulet
2f1b15f145
Allow dropping dyn principal
2024-10-17 20:43:31 +02:00
bjorn3
6666435b8a
Fix rustc test suite (broken by prev commit)
2024-10-17 16:58:00 +00:00
bjorn3
bbaaecc250
Stop copying libstd.so to dist/lib
...
It is only necessary in dist/lib/rustlib/*/lib anymore. The jit mode now
correctly find it there too.
2024-10-17 16:31:12 +00:00
bjorn3
16067fdea1
Mark blocks as cold in a couple more places
2024-10-17 17:57:34 +02:00
bjorn3
47a7e994f2
Rustup to rustc 1.84.0-nightly ( 798fb83f7
2024-10-16)
2024-10-17 10:55:09 +00:00
bjorn3
bf2da675c8
Sync from rust 798fb83f7d
2024-10-17 10:07:36 +00:00
Jed Brown
270fb2130c
intrinsics.fmuladdf{16,32,64,128}: expose llvm.fmuladd.* semantics
...
Add intrinsics `fmuladd{f16,f32,f64,f128}`. This computes `(a * b) +
c`, to be fused if the code generator determines that (i) the target
instruction set has support for a fused operation, and (ii) that the
fused operation is more efficient than the equivalent, separate pair
of `mul` and `add` instructions.
https://llvm.org/docs/LangRef.html#llvm-fmuladd-intrinsic
MIRI support is included for f32 and f64.
The codegen_cranelift uses the `fma` function from libc, which is a
correct implementation, but without the desired performance semantic. I
think this requires an update to cranelift to expose a suitable
instruction in its IR.
I have not tested with codegen_gcc, but it should behave the same
way (using `fma` from libc).
2024-10-11 15:32:56 -06:00
bjorn3
76dfce7a6f
Fix rustc test suite
2024-10-10 16:32:42 +00:00
bjorn3
5d7d2518b3
Rustup to rustc 1.83.0-nightly ( eb4e23467
2024-10-09)
2024-10-10 16:19:54 +00:00
bjorn3
3cf701c845
Sync from rust eb4e234674
2024-10-10 16:13:20 +00:00
bjorn3
14f656ede3
Compile all abi-cafe tests with debuginfo enabled
2024-10-10 16:09:42 +00:00
Jubilee Young
48504415cf
cg_clif: Factor out rustc_target::abi
2024-10-08 18:24:56 -07:00
Folkert de Vries
2811ce715d
various fixes for naked_asm!
implementation
...
- fix for divergence
- fix error message
- fix another cranelift test
- fix some cranelift things
- don't set the NORETURN option for naked asm
- fix use of naked_asm! in doc comment
- fix use of naked_asm! in run-make test
- use `span_bug` in unreachable branch
2024-10-06 19:00:09 +02:00
Urgau
0bd0b99729
Use wide pointers consistenly across the compiler
2024-10-04 14:06:48 +02:00
bjorn3
a146874989
Couple of clif ir printing improvements around abi handling
2024-10-03 15:34:21 +02:00
bjorn3
0ba084514a
Also enable Cranelift optimizations with -Copt-level=1/2
2024-10-03 12:36:16 +00:00
bjorn3
0f1284cea7
Fix ./y.sh prepare when the download dir is clobbered
2024-10-03 10:15:15 +00:00
bjorn3
0a9ce96e7a
Validate dir checksum during testing too
...
Fixes rust-lang/rustc_codegen_cranelift#1394
2024-10-03 10:13:20 +00:00
bjorn3
9a48c44a27
Remove pulley-interpreter dependency
2024-10-03 09:01:42 +00:00
bjorn3
743a2e47ac
Update to Cranelift 0.112.0
2024-10-03 09:01:40 +00:00
Michael Goulet
d10a16ae40
Relax a debug assertion in codegen
2024-09-30 12:18:02 -04:00
Ralf Jung
9b31c68c0e
fix cranelift CI
2024-09-29 07:32:08 +02:00
bjorn3
764f1ba5cd
Fix running rustc tests
2024-09-26 16:54:35 +00:00
bjorn3
eccda69544
Rustup to rustc 1.83.0-nightly ( 9e394f551
2024-09-25)
2024-09-26 16:41:40 +00:00
bjorn3
39440c53dc
Sync from rust 9e394f551c
2024-09-26 16:36:04 +00:00
Michael Goulet
6fdc133daa
Add a debug assertion in codegen that unsize casts of the same principal trait def id are truly NOPs
2024-09-25 11:13:59 -04:00
Lukas Markeffsky
25b66d8091
be even more precise about "cast" vs "coercion"
2024-09-24 23:12:02 +02:00
Lukas Markeffsky
1efad22339
unify dyn* coercions with other pointer coercions
2024-09-24 22:17:55 +02:00
Michael Goulet
631ab21ff0
Check vtable projections for validity in miri
2024-09-23 19:38:26 -04:00
bjorn3
3a3a6347bb
Merge branch 'sync_from_rust'
2024-09-23 11:32:18 +00:00
bjorn3
9d8572d33b
Rustfmt
2024-09-23 11:28:15 +00:00
bjorn3
f3ae4237ab
Revert change to apply_patches to fix panic
2024-09-23 11:20:56 +00:00
bjorn3
32b608a439
Merge commit '6d35b4c9a04580366fd800692a5b5db79d766530' into sync_cg_clif-2024-09-22
2024-09-23 11:20:46 +00:00
bjorn3
6d35b4c9a0
Rustup to rustc 1.83.0-nightly ( 6c6d21008
2024-09-22)
2024-09-23 11:11:08 +00:00
bjorn3
faeede3881
Merge branch 'sync_from_rust'
2024-09-23 11:04:43 +00:00
Michael Goulet
02b0f3b5ab
Reformat using the new identifier sorting from rustfmt
2024-09-22 19:11:29 -04:00
bjorn3
ab7777f982
Fix rustc test suite
2024-09-22 18:10:08 +00:00
bjorn3
27b21af624
Rustup to rustc 1.83.0-nightly ( 1d68e6dd1
2024-09-21)
2024-09-22 17:35:29 +00:00
bjorn3
1d53572570
Sync from rust 1d68e6dd1d
2024-09-22 17:14:10 +00:00
nora
f5686e3cc9
Write return value for ptr_mask
intrinsic ( #1536 )
...
This was forgotten. Without it, ptr_mask just always returns null.
2024-09-22 15:46:44 +02:00
Folkert de Vries
90300ef40b
add C-cmse-nonsecure-entry
ABI
2024-09-21 13:04:14 +02:00
Michael Goulet
460abead20
Do not unnecessarily eval consts in codegen
2024-09-20 20:38:11 -04:00
Turki Al-Marri
753271ce7e
aarch64 neon intrinsics: vmaxq_f32, vminq_f32, vaddvq_f32, vrndnq_f32 ( #1533 )
2024-09-19 18:11:24 +02:00
Nicholas Nethercote
37204ee563
Use associative type defaults in {Layout,FnAbi}OfHelpers
.
...
This avoids some repetitive boilerplate code.
2024-09-17 10:25:06 +10:00
bjorn3
5349365566
Use unconditional download-ci-llvm in setup_rust_fork.sh
...
For whatever reason someone decided to make the default if-changed
always checkout the llvm-project submodule, which takes a while.
2024-09-15 17:40:12 +00:00
bjorn3
eee42f2679
Fix rustc test suite
2024-09-15 17:34:45 +00:00
bjorn3
16cee899d1
Avoid mir_operand_get_const_val hack for simd_insert and simd_extract
2024-09-15 17:27:12 +00:00