Thursday, July 3, 2025

F43 Change Proposal: LLVM 21 (system-wide)

Wiki - https://fedoraproject.org/w/index.php?title=Changes/LLVM-21
Discussion thread -
https://discussion.fedoraproject.org/t/f43-change-proposal-llvm-21-system-wide/157265

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: [[User:tstellar| 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
[http://Changes/LLVM-20#Detailed_Description LLVM 20]''' This change
was made in rawhide and f42 after the f42 release, so it is already
done. See https://pagure.io/fesco/issue/3414.

=== 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: [https://pagure.io/releng/issues #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: N/A (not needed for this Change)



== Upgrade/compatibility impact ==


== Early Testing (Optional) ==


== 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 ==

--
Aoife Moloney

Fedora Operations Architect

Fedora Project

Matrix: @amoloney:fedora.im

IRC: amoloney

--
_______________________________________________
devel-announce mailing list -- devel-announce@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-leave@lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

No comments:

Post a Comment