Skip to content

Conversation

@F-WRunTime
Copy link
Member

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 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/16llvm: 17
  • .github/workflows/test-pr.yml: Updated all llvm: 15llvm: 17

Debian Package Dependencies

  • package/debian/kframework/control.jammy:
    • clang-15clang-17
    • lld-15lld-17
    • llvm-15llvm-17
  • package/debian/kframework/control.noble:
    • clang-16clang-17
    • lld-16lld-17
    • llvm-17 (already correct)

Installation Scripts

  • install-build-deps: Updated Debian package installation
    • clang-15clang-17
    • lld-15lld-17
    • llvm-15-toolsllvm-17-tools

macOS Support

  • package/macos/brew-install-deps: llvm@15llvm@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

Testing Strategy

  • CI/CD: GitHub Actions will test with LLVM 17
  • Debian Packages: Test builds on Ubuntu Jammy (22.04) and Noble (24.04)
  • macOS: Test Homebrew installation with llvm@17
  • 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 - Update LLVM version from 15 to 17
  • haskell-backend: May need similar updates (to be determined)

Checklist

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 F-WRunTime requested a review from a team as a code owner September 18, 2025 04:09
@F-WRunTime F-WRunTime closed this Sep 18, 2025
@F-WRunTime F-WRunTime deleted the update/llvm-version-no-submodule branch September 18, 2025 04:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants