LLVM 21
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.
Summary
Update all llvm sub-projects in Fedora Linux to version 21.
Owner
- Name: Tom Stellard
- Email: tstellar@redhat.com
Detailed Description
All llvm sub-projects in Fedora will be updated to version 21. There will be a soname version change for the llvm libraries, and an llvm20 compat package added to ensure that packages that currently depend on clang and llvm version 20 libraries will continue to work.
Other notable changes:
-
Built with PGO The llvm package is now built with PGO optimization, so users of its libraries and binaries should see some performance improvements. For example, clang should be noticeably faster compiling C and C++ files.
-
Undoing the prefix changes from LLVM 20 This change was made in rawhide and f42 after the f42 release, so it is already done. See Issue #3414: LLVM-20 Change Proposal: Revert Install Prefix Changes - fesco - Pagure.io.
Planned Schedule
Our plan is to push 21.1.0 into Fedora 43 during the Beta Freeze with a Beta Freeze exception.
We are not planning to push earlier release candidates into rawhide because the library ABI is not stabilized until the final 21.1.0 release.
Important Dates
- July 18: Begin building LLVM 21.1.0-rc1 in COPR.
- Jul 29: Begin building LLVM 21.1.0-rc2 in COPR.
- Aug 12: Begin building LLVM 21.1.0-rc3 in COPR.
- Aug 12: Fedora f43 branches created
- Aug 26: Begin building LLVM 21.1.0 in Rawhide and 43 side-tags.
- Aug 26: Fedora f43 Beta Freeze
- Aug 26 → Sept 16: Request a Beta Freeze exception for LLVM.
- Oct 7: Fedora f43 Final Freeze
Feedback
Benefit to Fedora
New features and bug fixes provided by the latest version of LLVM plus better performance for LLVM components through PGO optimizations.
Scope
-
Proposal owners:
- Build and test release candidates of LLVM 21 in COPR.
- Build and test final release of LLVM 21 in koji.
-
Other developers:
- Fix build issues found with LLVM-21 or switch their package to use the llvm20 compat libs. The LLVM team will not block Bodhi updates on dependent packages that fail to build or run with LLVM-21. There should be around ~12 weeks between when -rc1 lands in COPR and the Final Freeze for package maintainers to fix issues uncovered with the LLVM-21 update.
-
Release engineering: #Releng issue number
-
Policies and guidelines: N/A (not needed for this Change)
-
Trademark approval: N/A (not needed for this Change)
-
Alignment with the Fedora Strategy:
Upgrade/compatibility impact
Early Testing (Optional)
Do you require ‘QA Blueprint’ support? N
How To Test
The CI tests for the llvm sub-packages in Fedora will be used to catch regressions that might be potentially introduced by the update to LLVM 21.
User Experience
Dependencies
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change) If there are major problems with LLVM 21, the compatibility package provide a way for other packages to continue using LLVM 20.
- Contingency deadline: Final Freeze
- Blocks release? No
Documentation
LLVM sub-projects in Fedora have been updated to version 21:
- llvm (now includes polly, llvm-bolt, libcxx, mlir)
- flang
- libclc
- llvm-test-suite
Release Notes
Last edited by @amoloney 2025-07-03T19:18:34Z
Last edited by @amoloney 2025-07-03T19:18:34Z