rustc_codegen_cranelift
rustc_codegen_cranelift copied to clipboard
Cranelift based backend for rustc
Currently only compilation and execution of very simple crates is benchmarked. An example of a useful benchmark would be https://github.com/ebobby/simple-raytracer.
Currently the SIMD intrinsics are implemented in `stdsimd` using `link_llvm_intrinsics` to directly call the llvm intrinsics via their C ABI, and using a handful of "generic" simd intrinsics. Is there...
This is used to prevent Stack Clash, where the stack grows down to the heap, corrupting values on the heap.
* [ ] Implement kernel reloc model in Cranelift * [ ] ... Suggested by @joshtriplett.
Several CI runs failed on GHA today because of spurious network errors.
* https://github.com/bjorn3/rustc_codegen_cranelift/issues/1184 * https://github.com/bjorn3/rustc_codegen_cranelift/issues/1256 * https://github.com/bjorn3/rustc_codegen_cranelift/issues/1274 * Struct return on AArch64: https://github.com/bjorn3/rustc_codegen_cranelift/issues/1261, https://github.com/bjorn3/rustc_codegen_cranelift/blob/244455d8e3137f3bd3e2ee6a49ebb787e7d7f792/patches/0001-abi-checker-Disable-failing-tests.patch#L25-L30 * https://github.com/bytecodealliance/wasmtime/pull/4747
https://github.com/bjorn3/rustc_codegen_cranelift/pull/1268 was reverted because the masking was still needed for some types. A fix for this will be part of the upcoming 0.88.0 release of Cranelift, so this PR can...
This will allow building in contexts where the source directory is read-only, like many distros do when building packages.
Todo: add list of all failures. See https://github.com/bjorn3/rustc_codegen_cranelift/pull/1255
On s390x, the test case `ptr_bitops_tagging` in `sysroot_src/library/core/tests/atomic.rs` is failing. This is because the test attempts to allocate a 16-byte aligned variable on the stack: ``` #[repr(align(16))] struct Tagme(u128); ```...