Commit Graph

3931 Commits

Author SHA1 Message Date
bjorn3
35453ac0eb Stabilize inline asm usage on all platforms
But exclude sym operands for now as they are somewhat broken.
2023-10-29 16:40:52 +00:00
bjorn3
b1e705146a Unconditionally handle int $$0x29 using a shim 2023-10-29 16:08:16 +00:00
bjorn3
827a6d8d9f Use the LLVM rustc backend as external assembler
The LLVM backend is generally available, while the gnu assembler is not
on Windows and many other platforms by default.
2023-10-29 16:06:32 +00:00
bors
da1ed4dc4a Auto merge of #81746 - bjorn3:cg_clif_rustup_component, r=Mark-Simulacrum
Distribute cg_clif as rustup component on the nightly channel

This makes it possible to use cg_clif using:

```bash
$ rustup component add rustc-codegen-cranelift-preview --toolchain nightly
$ RUSTFLAGS="-Zcodegen-backend=cranelift" cargo +nightly build
```

cc https://github.com/rust-lang/compiler-team/issues/405.
r? `@Mark-Simulacrum`
2023-10-28 15:16:27 +00:00
Ralf Jung
c6f5090294 share the track_caller handling within a mir::Body 2023-10-28 16:16:15 +02:00
Ralf Jung
bad4be6e29 interpret: call caller_location logic the same way codegen does, and share some code 2023-10-28 15:40:03 +02:00
bors
9e20870c2e Auto merge of #116609 - eduardosm:bump-stdarch, r=workingjubilee
Bump stdarch submodule and remove special handling for LLVM intrinsics that are no longer needed

Bumps stdarch to pull https://github.com/rust-lang/stdarch/pull/1477, which reimplemented some functions with portable SIMD intrinsics instead of arch specific LLVM intrinsics.

Handling of those LLVM intrinsics is removed from cranelift codegen and miri.

cc `@RalfJung` `@bjorn3`
2023-10-28 11:26:34 +00:00
bjorn3
1cb7bdb757 Update target-lexicon to 0.12.12
This adds support for loongarch and a bunch of other targets
2023-10-27 11:56:39 +00:00
bjorn3
1e39bbf74c Update Cranelift to 0.101.2 and disable host-arch feature of cranelift-codegen
This ensures that cg_clif can be built for targets that aren't natively
supported by Cranelift. It will not be possible to compile for the host
in this case, but cross-compilation will still be possible.

We won't distribute cg_clif as rustup component for any targets that
aren't natively supported by Cranelift, but will still build it if
codegen-backends lists "cranelift".
2023-10-27 11:56:39 +00:00
bjorn3
6d30a7dd70 Merge branch 'sync_from_rust' 2023-10-24 12:24:03 +00:00
bjorn3
a302610016 Merge commit '93a5433f17ab5ed48cc88f1e69b0713b16183373' into sync_cg_clif-2023-10-24 2023-10-24 12:22:23 +00:00
bjorn3
93a5433f17 Update Cranelift to 0.101.1
This patch release fixes an ABI incompatibility with LLVM.

Fixes #1395
2023-10-23 19:06:04 +00:00
bjorn3
a558968dbe Implement all llvm intrinsics necessary for the image crate
Fixes #1379
2023-10-23 14:10:22 +00:00
bjorn3
efd3081083 Update rust-analyzer config 2023-10-23 13:24:46 +00:00
bjorn3
e5ba1e8417 Implement llvm intrinsics necessary for rav1e
Fixes #1399
2023-10-23 14:06:47 +02:00
bjorn3
ed8c515cc4 Avoid collect_and_partition_mono_items call when not doing codegen
Fixes #1401
2023-10-23 09:35:15 +00:00
bjorn3
7c4fcd4165
Update readme for the move to the rust-lang org 2023-10-22 22:45:03 +02:00
bjorn3
56c6c86661 Simplify FunctionCx::create_stack_slot a bit 2023-10-22 18:10:59 +00:00
bjorn3
55380a5ffd Dynamically realign local variables with large alignment
This works around the lack of a way to specify the alignment of a stack
slot in Cranelift.

Fixes #1230
Fixes #1381
2023-10-22 17:11:11 +00:00
bjorn3
38e8be9673 Add create_stack_slot helper to FunctionCx
This will allow centrally handling a workaround for the lack of stack
alignment specifier in cranelift.
2023-10-22 16:02:14 +00:00
bjorn3
a99b1b4c0b Merge branch 'sync_from_rust' 2023-10-21 19:57:28 +00:00
bjorn3
e472b5573a Merge commit 'c07d1e2f88cb3b1a0604ae8f18b478c1aeb7a7fa' into sync_cg_clif-2023-10-21 2023-10-21 19:54:51 +00:00
bjorn3
c07d1e2f88 Use same --remap-path-prefix as bootstrap for testing the rustc test suite
This allows removing the CFG_VIRTUAL_RUST_SOURCE_BASE_DIR hack and
re-enabling a fair amount of tests.
2023-10-21 19:01:08 +00:00
bjorn3
62f6e84ac1
Merge pull request #1398 from bjorn3/riscv_support
Add riscv64 linux support
2023-10-21 20:16:33 +02:00
bjorn3
1848d25a83 Add shim for core::hint::spin_loop() on riscv64 2023-10-21 17:37:45 +00:00
bjorn3
78cd77f1f1 Give better error for unsupported asm!() 2023-10-21 16:47:14 +00:00
bjorn3
eb30083b69 Fix epilogue_noreturn for AArch64 2023-10-21 16:47:14 +00:00
bjorn3
55cc776731 Introduce asm_supported() helper 2023-10-21 16:47:14 +00:00
bjorn3
46388c1702 Re-enable all inline asm usage for the rustc tests 2023-10-21 16:46:45 +00:00
bjorn3
453ce49a6f Support inline asm on riscv64 2023-10-21 16:46:24 +00:00
bjorn3
04a3850317 Run tests for riscv64 2023-10-21 16:46:24 +00:00
bjorn3
2f74b68617 Rustup to rustc 1.75.0-nightly (249624b50 2023-10-20) 2023-10-21 11:30:57 +00:00
bjorn3
f414e265a7 Sync from rust 249624b504 2023-10-21 11:26:32 +00:00
Oli Scherer
4519e68957 s/generator/coroutine/ 2023-10-20 21:14:01 +00:00
Oli Scherer
8e264ab07a s/Generator/Coroutine/ 2023-10-20 21:10:38 +00:00
bjorn3
14e66dbf5d Update Cranelift to 0.101.0 2023-10-20 18:11:56 +00:00
bjorn3
49987faf87 Fix rustc test suite 2023-10-19 13:20:25 +00:00
bjorn3
b972010887 Fix CG_CLIF_DISABLE_INCR_CACHE 2023-10-19 12:44:27 +00:00
bjorn3
bdc597d512 Rustup to rustc 1.75.0-nightly (0039d739d 2023-10-18) 2023-10-19 12:39:49 +00:00
bjorn3
5f2d3ac041 Sync from rust 0039d739d4 2023-10-19 12:18:00 +00:00
Urgau
2f461b74ff [RFC 3127 - Trim Paths]: Condition remapped filepath on remap scopes 2023-10-17 10:11:30 +02:00
Michael Howell
8c3eda36df docs: add Rust logo to more compiler crates
c6e6ecb1af added it to some of the
compiler's crates, but avoided adding it to all of them to reduce
bit-rot. This commit adds to more.
2023-10-16 15:38:08 -07:00
bjorn3
ba0f7e3534 Install binutils on FreeBSD CI to get an assembler 2023-10-15 12:05:05 +00:00
bjorn3
ca53d2e8bb Change producer string to have the rustc producer string as prefix
This fixes the comment-section run-make test
2023-10-14 13:46:55 +00:00
bjorn3
5a9b81a91e Re-enable a bunch of fixed rustc tests 2023-10-14 13:37:03 +00:00
bjorn3
4a24eccfba Remove no longer necessary rand patch
These tests got fixed fixed at some point.
2023-10-14 13:09:06 +00:00
bjorn3
62bf33a9c6 Ensure we don't overwrite an existing Cargo.lock when fetching an external git repo 2023-10-14 12:41:44 +00:00
bjorn3
f06831441b Remove portable-simd custom lock file
portable-simd has a Cargo.lock already checked in now.
2023-10-14 12:38:18 +00:00
bjorn3
abc9f0d6fb Update rand test
This allows removing a patch for a test that requires unwinding support
2023-10-14 12:29:13 +00:00
Eduardo Sánchez Muñoz
40cc89137b Remove from cranelift codegen LLVM intrinsics that are no longer needed 2023-10-12 11:20:00 +02:00