-
Notifications
You must be signed in to change notification settings - Fork 23
Update LLVM version from 15 to 17 #1214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Conversation
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
- Update INSTALL.md: clang-15→17, lld-15→17, llvm-15-tools→17, llvm@15→17 - Update package/debian/control.jammy: clang-15→17, lld-15→17, llvm-15→17, llvm-15-tools→17 - Update scripts/clang-tidy.sh: LLVM_VERSION=15→17 This aligns the llvm-backend with the main K Framework's move to LLVM 17.
F-WRunTime
added a commit
to runtimeverification/k
that referenced
this pull request
Sep 11, 2025
- Update GitHub Actions workflows: llvm: 15/16 → 17 - Update Debian package dependencies: - control.jammy: clang-15→17, lld-15→17, llvm-15→17 - control.noble: clang-16→17, lld-16→17 (llvm-17 already correct) - Update install-build-deps: clang-15→17, lld-15→17, llvm-15-tools→17 - Update macOS Homebrew: llvm@15→17 - Update macos-envrc: llvm@15→17 - Update llvm-backend submodule to include LLVM 17 changes This migration aligns K Framework with LLVM 17 for improved performance and compatibility with newer toolchain features. Depends on: runtimeverification/llvm-backend#1214
12 tasks
- Update clang-tidy.sh to auto-detect available LLVM version instead of hardcoding - Fix Ubuntu Jammy package dependencies to use LLVM 15 (available in Ubuntu 22.04) - Script now tries versions 17, 16, 15, 14 in order and falls back to default This resolves the 'run-clang-tidy-17: command not found' error by using the correct LLVM version based on what's available in the environment.
F-WRunTime
added a commit
to runtimeverification/k
that referenced
this pull request
Sep 18, 2025
This PR updates the LLVM version from 15/16 to 17 across the entire K Framework repository to align with modern toolchain requirements and improve performance. ##⚠️ **IMPORTANT DEPENDENCY** **This PR requires [llvm-backend PR #1214](runtimeverification/llvm-backend#1214) to be merged first.** The llvm-backend submodule changes are included in this PR, but the final merge should wait until the llvm-backend PR is merged and released to ensure proper dependency alignment. ## Changes Made ### **GitHub Actions Workflows** - **`.github/workflows/release.yml`**: Updated all `llvm: 15/16` → `llvm: 17` - **`.github/workflows/test-pr.yml`**: Updated all `llvm: 15` → `llvm: 17` ### **Debian Package Dependencies** - **`package/debian/kframework/control.jammy`**: - `clang-15` → `clang-17` - `lld-15` → `lld-17` - `llvm-15` → `llvm-17` - **`package/debian/kframework/control.noble`**: - `clang-16` → `clang-17` - `lld-16` → `lld-17` - `llvm-17` (already correct) ### **Installation Scripts** - **`install-build-deps`**: Updated Debian package installation - `clang-15` → `clang-17` - `lld-15` → `lld-17` - `llvm-15-tools` → `llvm-17-tools` ### **macOS Support** - **`package/macos/brew-install-deps`**: `llvm@15` → `llvm@17` - **`macos-envrc`**: Updated environment variables for `llvm@17` ### **Submodule Updates** - **`llvm-backend/src/main/native/llvm-backend`**: Updated to include LLVM 17 changes from [PR #1214](runtimeverification/llvm-backend#1214) ## Testing Strategy - [x] **CI/CD**: GitHub Actions will test with LLVM 17 - [x] **Debian Packages**: Test builds on Ubuntu Jammy (22.04) and Noble (24.04) - [ ] **macOS**: Test Homebrew installation with `llvm@17` - [x] **Submodule**: Verify llvm-backend integration works correctly ## Migration Benefits 1. **Performance**: LLVM 17 includes performance improvements and optimizations 2. **Compatibility**: Better support for modern C++ features and standards 3. **Security**: Latest security patches and bug fixes 4. **Toolchain**: Improved debugging and analysis tools ## Related PRs - **llvm-backend**: [PR #1214](runtimeverification/llvm-backend#1215) - Update LLVM version from 15 to 17 - **haskell-backend**: May need similar updates (to be determined) ## Checklist - [x] Update GitHub Actions workflows - [x] Update Debian package dependencies - [x] Update installation scripts - [x] Update macOS Homebrew configuration - [x] Update llvm-backend submodule - [x] Wait for llvm-backend PR #1214 to merge - [ ] Update `deps/llvm-backend_release` after llvm-backend release - [ ] Final testing and validation
12 tasks
automergerpr-permission-manager bot
pushed a commit
to runtimeverification/k
that referenced
this pull request
Sep 18, 2025
## Summary This PR updates the LLVM version from 15/16 to 17 across the entire K Framework repository to align with modern toolchain requirements and improve performance. ##⚠️ **IMPORTANT DEPENDENCY** **This PR requires [llvm-backend PR #1214](runtimeverification/llvm-backend#1214) to be merged first.** The llvm-backend submodule changes are included in this PR, but the final merge should wait until the llvm-backend PR is merged and released to ensure proper dependency alignment. ## Changes Made ### **GitHub Actions Workflows** - **`.github/workflows/release.yml`**: Updated all `llvm: 15/16` → `llvm: 17` - **`.github/workflows/test-pr.yml`**: Updated all `llvm: 15` → `llvm: 17` ### **Debian Package Dependencies** - **`package/debian/kframework/control.jammy`**: - `clang-15` → `clang-17` - `lld-15` → `lld-17` - `llvm-15` → `llvm-17` - **`package/debian/kframework/control.noble`**: - `clang-16` → `clang-17` - `lld-16` → `lld-17` - `llvm-17` (already correct) ### **Installation Scripts** - **`install-build-deps`**: Updated Debian package installation - `clang-15` → `clang-17` - `lld-15` → `lld-17` - `llvm-15-tools` → `llvm-17-tools` ### **macOS Support** - **`package/macos/brew-install-deps`**: `llvm@15` → `llvm@17` - **`macos-envrc`**: Updated environment variables for `llvm@17` ### **Submodule Updates** - **`llvm-backend/src/main/native/llvm-backend`**: Updated to include LLVM 17 changes from [PR #1214](runtimeverification/llvm-backend#1214) ## Testing Strategy - [x] **CI/CD**: GitHub Actions will test with LLVM 17 - [x] **Debian Packages**: Test builds on Ubuntu Jammy (22.04) and Noble (24.04) - [ ] **macOS**: Test Homebrew installation with `llvm@17` - [x] **Submodule**: Verify llvm-backend integration works correctly ## Migration Benefits 1. **Performance**: LLVM 17 includes performance improvements and optimizations 2. **Compatibility**: Better support for modern C++ features and standards 3. **Security**: Latest security patches and bug fixes 4. **Toolchain**: Improved debugging and analysis tools ## Related PRs - **llvm-backend**: [PR #1214](runtimeverification/llvm-backend#1215) - Update LLVM version from 15 to 17 - **haskell-backend**: May need similar updates (to be determined) ## Checklist - [x] Update GitHub Actions workflows - [x] Update Debian package dependencies - [x] Update installation scripts - [x] Update macOS Homebrew configuration - [x] Update llvm-backend submodule - [x] Wait for llvm-backend PR #1214 to merge - [ ] Update `deps/llvm-backend_release` after llvm-backend release - [ ] Final testing and validation
F-WRunTime
added a commit
to runtimeverification/k
that referenced
this pull request
Oct 2, 2025
- Update GitHub Actions workflows: llvm: 15/16 → 17 - Update Debian package dependencies: - control.jammy: clang-15→17, lld-15→17, llvm-15→17 - control.noble: clang-16→17, lld-16→17 (llvm-17 already correct) - Update install-build-deps: clang-15→17, lld-15→17, llvm-15-tools→17 - Update macOS Homebrew: llvm@15→17 - Update macos-envrc: llvm@15→17 - Update llvm-backend submodule to include LLVM 17 changes This migration aligns K Framework with LLVM 17 for improved performance and compatibility with newer toolchain features. Depends on: runtimeverification/llvm-backend#1214
12 tasks
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
This PR updates the LLVM version from 15 to 17 across the llvm-backend repository to align with the main K Framework's move to LLVM 17.
Changes Made
INSTALL.md: Updated installation instructions
clang-15
→clang-17
lld-15
→lld-17
llvm-15-tools
→llvm-17-tools
llvm@15
→llvm@17
(macOS Homebrew)package/debian/control.jammy: Updated Debian package dependencies
clang-15
→clang-17
lld-15
→lld-17
llvm-15
→llvm-17
llvm-15-tools
→llvm-17-tools
scripts/clang-tidy.sh: Updated LLVM version constant
LLVM_VERSION=15
→LLVM_VERSION=17
Related
This change is part of the broader K Framework migration to LLVM 17. The main K Framework repository has already been updated to use LLVM 17 in its GitHub Actions workflows and packaging configurations.
Testing