Track LLVM backend retirement and migration to Whale
- Dominant language
- Rust
- Stars
- 53
- Forks
- 16
- Avg merge
- 4h 22m
- Merged PRs (30d)
- 46
Description
## Current status
LLVM 21 is Wave's current functional backend and is required for supported compilation, target, ABI, and release workflows. It must not be removed while it is the only backend that satisfies those contracts.
Wave intends to move native toolchain responsibilities to Whale over time and exclude LLVM from the eventual bootstrap path.
## Migration scope
- Define a backend-neutral compiler-to-toolchain interface.
- Preserve target, relocation, code model, ABI, inline assembly, object, linker, and diagnostic contracts.
- Reuse target and ABI fixtures across LLVM and Whale where possible.
- Add explicit backend selection during the transition.
- Establish feature-parity and artifact-compatibility gates.
- Define the bootstrap path and supported host requirements.
- Deprecate LLVM only after Whale passes the required language, ABI, platform, and release tests.
## Completion criteria
- [ ] Whale can compile the maintained Wave corpus for supported targets.
- [ ] Backend-neutral ABI fixtures, including the work tracked in #350 and #368, pass.
- [ ] Release and bootstrap workflows no longer require LLVM.
- [ ] Users receive a documented migration path.
- [ ] LLVM removal is a deliberate final step, not an intermediate breakage.
This issue records the long-term toolchain direction. Concrete migration components should be opened as focused implementation issues.
Contributor guide
Assessment
This issue has not been assessed yet.