Repository navigation
Start alpha development with an opt-in Whale IR backend - #859
Merged
Merged
Conversation
Signed-off-by: LunaStev <luna@lunastev.org>
This was referenced Oct 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Start
0.0.1-alpha-devdevelopment with an opt-in Whale IR backend. Add a rootwhale/workspace crate alongsidellvm/; the compiler driver retains CLI dispatch and source preparation. The existing--whaleflag now supportscheckandbuild --emit=ir, producing verified.wirfiles.Whale IR comes from official
wavefnd/Whalemaster, with commit4f45fdb53d07882932cc251856316206a3bb3947recorded in Cargo.lock. The adapter consumes Wave typed HIR calculation types and ordered conversions, preserves short-circuit evaluation, and uses iterative expression traversal to retain the 128-level nesting boundary on a 1 MiB stack.The PR also refreshes the Nightly deployment pins for the latest-only installers from wavefnd/wave-platform#476. Both live installer downloads exactly match the new hashes. The old hashes match the earlier #473 scripts and would now reject the deployed installers in both the Nightly gate and publication checks. The diagnostic wording is updated to describe the latest-only policy; hash verification remains unchanged.
Motivation
Begin LLVM/Whale coexistence for alpha while keeping the existing LLVM compiler usable. This is an initial integration toward #93, not completion of backend parity.
Target and compatibility impact
0.0.1-alpha-dev; no release is published and the compiler/std compatibility revision remains unchanged.Validation
Using CI-pinned Rust 1.89 and
LLVM_SYS_211_PREFIX=/usr/lib64/llvm21where LLVM is needed:All 27 Nightly tests pass, and both live installer SHA-256 values match
nightly_installers.json. All eight Whale integration regressions pass, covering control flow/calls, ordered casts, contextual wide literals, float-to-bool handling, output protection, unsupported requests, LLVM remaining the default, and the 128/129 expression-depth boundary. The Whale crate builds independently without an LLVM dependency.Exploratory Rust 1.96 checks exposed a small-stack frontend failure also reproduced on unmodified master, plus a warning in unchanged WSON code. The passing checks above use the repository's pinned Rust 1.89.
Checklist
Signed-off-byline.std/.Issues
Closes #861.
Related to #93 and #773.