Skip to content

Track LLVM backend retirement and migration to Whale #93

Open

Description

@LunaStev

Current status

LLVM 21 remains Wave's default native backend and is required for supported compilation, target, ABI, and release workflows. Alpha now has an opt-in Wave-to-Whale IR adapter; this does not replace LLVM's native or release coverage.

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

This issue records the long-term toolchain direction. Concrete migration components should be opened as focused implementation issues.

Alpha adapter progress

PR #859 introduced the Linux amd64/O0 IR-only adapter (#861). PR #860 implements checked shifts (#863), checked float-to-integer casts (#864) and format-3 reader integration (#862). Generated IR verification and guard probes do not establish native execution parity. LLVM remains the default.

Focused alpha follow-ups

Activity

  1. self-assigned this
    on Feb 14, 2025
  2. added
    buildIssues related to building the project or compiling errors.
    discussionIssues that require a technical or community discussion.
    needs testingIssues that require additional testing or verification.
    refactorIssues that require code refactoring without changing functionality.
    on Feb 14, 2025
  3. linked a pull request that will close this issueDevelopment Enablement and Code Refinements #108on Feb 20, 2025
  4. changed the title [-]Temporary LLVM Usage[/-] [+]Track LLVM backend retirement and migration to Whale[/+] on Aug 25, 2026
  5. added
    technical debtIssues that represent potential future improvements or problems.
    and removed
    needs testingIssues that require additional testing or verification.
    refactorIssues that require code refactoring without changing functionality.
    on Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

buildIssues related to building the project or compiling errors.discussionIssues that require a technical or community discussion.technical debtIssues that represent potential future improvements or problems.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions