Commit Graph

4362 Commits

Author SHA1 Message Date
bjorn3
cba05a7a14 Support naked functions
Fixes rust-lang/rustc_codegen_cranelift#1203
2024-05-12 18:20:14 +02:00
bjorn3
0627c63ad9 Remove polymorphize calls for statics in a couple more places 2024-05-12 18:20:14 +02:00
bjorn3
6db27529dd Significantly reduce check cfg warnings 2024-05-12 12:59:10 +00:00
bjorn3
cfc919f532 Use cargo in y.sh
This will allow adding dependencies to the build system in the future.
2024-05-12 12:59:10 +00:00
bjorn3
2df34f9091
Merge pull request #1490 from folkertdev/add-llvm-x86-crc32
add all `llvm.x86.sse42.crc32.*.*` intrinsics
2024-05-11 22:39:21 +02:00
Folkert
9059a74fd0
test x86 crc intrinsics 2024-05-11 22:23:55 +02:00
bjorn3
1a2c489a93
Merge pull request #1489 from rust-lang/parallel_rustc
Translate MIR to clif ir in parallel with parallel rustc
2024-05-11 22:13:39 +02:00
bjorn3
893ba536bc
Merge pull request #1491 from folkertdev/add-llvm-avx2-permd
add `llvm.x86.avx2.permd` intrinsic
2024-05-11 22:11:53 +02:00
Folkert
4a4535a57c
add llvm.x86.avx2.permd intrinsic 2024-05-11 21:58:25 +02:00
Folkert
e7b6662464
support crc32 with 8-bit and 16-bit inputs, and add crc64 support 2024-05-11 21:44:08 +02:00
Folkert de Vries
7b50189dce
add the llvm.x86.sse42.crc32.32.32 intrinsic (#1488)
* add the `llvm.x86.sse42.crc32.32.32` intrinsic
2024-05-11 21:38:25 +02:00
bjorn3
a167142946 Translate MIR to clif ir in parallel with parallel rustc
On dev-desktop the advantage of cg_clif over cg_llvm on simple-raytracer
is 15% when parallel rustc is disabled. With -Zthreads=16 the advantage
goes from 5% to 22% with this change.
2024-05-11 18:51:59 +00:00
bjorn3
50b34279c3 Split cgus into todo and done before the main module codegen loop 2024-05-11 17:39:51 +00:00
bjorn3
9ee010cc34 Try to workaround gha issue with the caching action 2024-05-11 17:19:46 +00:00
bjorn3
9e4e805488 Avoid ICE on transmuting invalid bools
Fixes rust-lang/rustc_codegen_cranelift#1433
2024-05-11 17:06:43 +00:00
bjorn3
906db0229f Avoid CValue::const_val for discriminants 2024-05-11 17:03:34 +00:00
bjorn3
8cf40c46b2 Don't attempt to polymorphize statics
Fixes rust-lang/rust#124319
2024-05-11 16:36:12 +00:00
bjorn3
f437815d91 Compile for x86_64 on macOS even with an arm64 host
We don't support arm64 on macOS yet.
2024-05-11 14:11:53 +00:00
bjorn3
8fe6e74047 Fix rustc tests 2024-05-11 14:01:29 +00:00
bjorn3
250d0832a1 Rustup to rustc 1.80.0-nightly (6e1d94708 2024-05-10) 2024-05-11 13:51:22 +00:00
bjorn3
6633d66954 Sync from rust 6e1d94708a 2024-05-11 13:37:51 +00:00
Matthias Krüger
80e2a7868e Rollup merge of #124957 - compiler-errors:builtin-deref, r=michaelwoerister
Make `Ty::builtin_deref` just return a `Ty`

Nowhere in the compiler are we using the mutability part of the `TyAndMut` that we used to return.
2024-05-10 16:10:47 +02:00
Michael Goulet
0a67bf1b8a Make builtin_deref just return a Ty 2024-05-09 22:55:00 -04:00
beetrees
617c3f6360 Refactor float Primitives to a separate Float type 2024-05-06 14:56:10 +01:00
bjorn3
4d6ac059e5 Add missing arg for the jit.std_example test 2024-05-03 11:11:58 +00:00
bjorn3
b1ebc55240 Correctly handle missing CG_CLIF_JIT_ARGS 2024-05-03 11:11:39 +00:00
bjorn3
88d10687b0 Remove special case in maybe_create_entry_wrapper 2024-05-03 11:05:31 +00:00
bjorn3
c41a7db24f Fix rustc test suite 2024-05-03 10:15:38 +00:00
bjorn3
18d2fb6e8c Rustup to rustc 1.80.0-nightly (79734f1db 2024-05-02) 2024-05-03 10:01:25 +00:00
bjorn3
05367c5b9e Downgrade XCode to workaround a bug in ld prime 2024-04-28 18:57:28 +00:00
bjorn3
1e485f1bd4 Fix rustc tests 2024-04-28 17:56:08 +00:00
bjorn3
a07fd93698 Rustup to rustc 1.79.0-nightly (aed2187d5 2024-04-27) 2024-04-28 15:43:50 +00:00
bjorn3
18a109e2da Sync from rust aed2187d53 2024-04-28 14:49:19 +00:00
Vadim Petrochenkov
9a57c636e7 debuginfo: Stabilize -Z debug-macros, -Z collapse-macro-debuginfo and #[collapse_debuginfo]
`-Z debug-macros` is "stabilized" by enabling it by default and removing.

`-Z collapse-macro-debuginfo` is stabilized as `-C collapse-macro-debuginfo`.
It now supports all typical boolean values (`parse_opt_bool`) in addition to just yes/no.

Default value of `collapse_debuginfo` was changed from `false` to `external` (i.e. collapsed if external, not collapsed if local).
`#[collapse_debuginfo]` attribute without a value is no longer supported to avoid guessing the default.
2024-04-25 22:14:47 +03:00
Oli Scherer
dda4709b1c Error on using yield without also using #[coroutine] on the closure
And suggest adding the `#[coroutine]` to the closure
2024-04-24 08:05:29 +00:00
Matthias Krüger
36449f8cd6 Rollup merge of #124286 - bjorn3:sync_cg_clif-2024-04-23, r=bjorn3
Subtree sync for rustc_codegen_cranelift

This fixes a crash when compiling the standard library. In addition the Cranelift update fixes all the 128bit int abi incompatibility between cg_clif and cg_llvm.

r? ``@ghost``

``@rustbot`` label +A-codegen +A-cranelift +T-compiler
2024-04-23 20:17:52 +02:00
Matthias Krüger
6a2ad55108 Rollup merge of #124003 - WaffleLapkin:dellvmization, r=scottmcm,RalfJung,antoyo
Dellvmize some intrinsics (use `u32` instead of `Self` in some integer intrinsics)

This implements https://github.com/rust-lang/compiler-team/issues/693 minus what was implemented in #123226.

Note: I decided to _not_ change `shl`/... builder methods, as it just doesn't seem worth it.

r? ``@scottmcm``
2024-04-23 20:17:51 +02:00
bjorn3
1122338eb8 Merge branch 'sync_from_rust' 2024-04-23 14:59:26 +00:00
bjorn3
f7627c3baa Fix broken subtree sync 2024-04-23 14:56:13 +00:00
bjorn3
4ad6c6c581 Merge commit 'de5d6523738fd44a0521b6abf3e73ae1df210741' into sync_cg_clif-2024-04-23 2024-04-23 09:37:28 +00:00
bjorn3
de5d652373 Rustup to rustc 1.79.0-nightly (7f2fc33da 2024-04-22) 2024-04-23 09:32:36 +00:00
bjorn3
041666a0bd Update abi-cafe ui128 test expectations 2024-04-22 21:04:56 +00:00
bjorn3
6ec27fe9da Update to Cranelift 0.107 2024-04-22 21:04:48 +00:00
bjorn3
2c6ef5a2d0 Update a couple of crates 2024-04-22 19:25:51 +00:00
bjorn3
966e269351 Update data structure crates 2024-04-22 19:25:00 +00:00
bjorn3
cea3e7da8c Update syn, quote and proc-macro2 2024-04-22 19:22:52 +00:00
bjorn3
c02f6c57e9 Update windows-trgets to 0.52.5 2024-04-22 19:18:21 +00:00
bjorn3
d569c84f07 Update libloading
This removes one copy of the windows bindings
2024-04-22 19:17:02 +00:00
bjorn3
498dbbd018 Fix warning in alloc_system.rs 2024-04-22 17:10:30 +00:00
bjorn3
569df1dad3 Inline CValue::pointer_from_data_and_meta
It only has a single use and doesn't need access to CValue internals.
2024-04-22 17:03:48 +00:00