Skip to content

Update for LLVM 21.1.0

LLVM 21.1.0-rc1 was published a few days ago and the final 21.1.0 release will follow in around 6 weeks.


For new LLVM major versions:

  • Diff llvm/include/llvm-c/ between previous and current release. This requires a local repo that's in sync with the remote, and tags will be needed. A bare repository is fine, however.

    ```
    git clone --mirror https://github.com/llvm/llvm-project.git
    git diff llvmorg-9.0.0 llvmorg-10.0.0 -- llvm/include/llvm-c/
    ```
    
    Apply matching changes to Rust bindings.
  • Update links key in Cargo.toml for new LLVM version

  • Update usage example in README.md for new crate version

  • Update CI to refer to new version

    • That includes an update of RUSTC_COMMIT variable to reference a commit in github.com/rust-lang/rust providing the new LLVM version. It can be determined using ./scripts/rustc-commit.sh. If preferred, it can be also checked in a local Rust repository clone:

      ```
      git clone --mirror https://github.com/rust-lang/rust.git
      git log --oneline --grep=LLVM --grep=$LLVM_VERSION main -- .gitmodules
      ```

For all versions:

  • Update version key in Cargo.toml for new crate version
  • Commit changes
  • Tag new version; git tag v100.1.0
  • Update latest branch to follow master: git branch -f llvm-10.0 master
  • Test and publish
  • Push changes and tags; git push --all && git push --tags
Edited by Peter Marheine