From 9533f3f5acafae8d03a8a3426b9311eb15da7ad5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20B=C3=B6ving?= Date: Wed, 6 May 2026 12:03:53 +0200 Subject: [PATCH] doc: how to LLVM upgrade (#13656) This PR documents how to perform an LLVM upgrade. --- doc/dev/llvm_upgrade.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 doc/dev/llvm_upgrade.md diff --git a/doc/dev/llvm_upgrade.md b/doc/dev/llvm_upgrade.md new file mode 100644 index 0000000000..13cbb56bd9 --- /dev/null +++ b/doc/dev/llvm_upgrade.md @@ -0,0 +1,14 @@ +To upgrade Lean's LLVM version we currently perform the following steps: +1. Make PR to leanprover/lean-llvm that upgrades the LLVM version, example: https://github.com/leanprover/lean-llvm/pull/15 +2. Merge PR to master, create a tag with the LLVM version name and wait for CI to create the release on that tag, example: https://github.com/leanprover/lean-llvm/releases/tag/22.1.4 +3. Got to leanprover/lean4 and update all necessary LLVM things there, this is currently: + - bumping the llvm-urls in `.github/workflows/ci.yml` + - bumping `LLVM_RELEASE` in `tests/bench_build.sh` and `tests/bench_other.sh` + - fixing potential build failures +4. Create a PR and run `!bench` to see performance impact, example: https://github.com/leanprover/lean4/pull/13545 +5. Run `release-ci` on the PR to ensure everything still works on all platforms +6. Profit! + +Note: you might want to create a prerelease tag on lean-llvm and work with that until you are sure +the bump is actually going to work. +