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