From Fedora Project Wiki

LLVM 21

Summary

Update all llvm sub-projects in Fedora Linux to version 21.

Owner

Current status

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.

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.
  • 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: 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