rust-lang / rust-lang/rustc_codegen_cranelift
Use an LLVM built sysroot instead of a clif built sysroot for user releases
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 2.1k
- Forks
- 157
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 3
Description
This seems to improve build times on the rustc benchmark suite by a considerable amount. Likely due to having to link less code. In addition cg_clif as distributed with rustc will use an LLVM built sysroot. Local testing should still happen using a cg_clif sysroot for better test coverage. CI should test both configurations.
- Make sure
is_*_feature_detected!()returns false for all target features unsupported by cg_clif. (https://github.com/rust-lang/rustc_codegen_cranelift/issues/1289) - Test both cg_clif and llvm sysroot on CI. (https://github.com/rust-lang/rustc_codegen_cranelift/pull/1378)
- Ensure absence of miscompilations when mixing cg_clif with an LLVM built sysroot. (https://github.com/rust-lang/rustc_codegen_cranelift/issues/1395, https://github.com/rust-lang/rustc_codegen_cranelift/issues/1525)
- Flip the switch for user releases.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading linked issues #1395 and #1525, which track miscompilations when cg_clif is mixed with an LLVM-built sysroot. Review the existing CI coverage for both sysroot configurations, then identify the user-release switch and define validation that shows the mixed configuration is safe before changing it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system, ci-cd, compilers, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100