LLVM - AshokBhat/notes GitHub Wiki

About

  • Compiler Infrastructure
  • Open source

Key subprojects

LLVM Core libraries Source- and target-independent optimizer, along with code generation support
clang C/C++/Objective-C compiler
lld Linker
lldb Debugger
llvm-libc C standard library
libc++ C++ standard library
compiler-rt Compiler runtime library
libomp OpenMP runtime

How it works

LLVM

Release process

Packaging

  • https://llvm.org/docs/Packaging.html
  • Suggestion - Ship multiple versions as LLVM’s API changes with each release and users will want multiple versions installed at the same time.

Major Releases

  • Roughly every 6 months
  • Release manager - Hans Wennborg (Google)

Timelines

RC 14 13 12 (Apr 21) 11 (Sep 20) 10 (Mar 20) 9 (Sep 19) 8 (Mar 19) 7 (Sep 18)
RC1 04 Aug 28 Jan 28 Jul 30 Jan 29 Jul 30 Jan 03 Aug
RC2 24 Feb 20 Aug 13 Feb 14 Aug 07 Feb 22 Aug
RC3 10 Mar 22 Sep 04 Mar 30 Aug 27 Feb 10 Sep
RC4 01 Apr 28 Sep 13 Mar 10 Sep 08 Mar NA
RC5 07 Apr 30 Sep 19 Mar 13 Sep 12 Mar NA
RC6 NA 07 Oct 23 Mar 17 Sep NA NA
Rel 2021-10-04 14 Apr 12 Oct 24 Mar 19 Sep 20 Mar 19 Sep

Dot releases

  • Stable release manager (X.n): Tom Stellard (Red Hat)
  • Who decides? Release manager. No set date.
  • Typical scenarios of release
    • Large number of bug-fixes in the stable branch
    • Critical bug that affects a large number of users.
  • Patch rules
    • Only bug-fixes
    • All patches must maintain both API and ABI compatibility with the previous major release

Versions

Linux distribution versions

Distro LLVM Notes
RHEL 9 ?
RHEL 8 8.0
CentOS 8 8.0.1
Ubuntu 24.04 18.0?
Ubuntu 22.04 14.0
Ubuntu 20.04 10.0
Ubuntu 18.04 6.0
OpenSUSE Leap 15.2 9.0.1
OpenSUSE Leap 15.1 7.0.1
SLES 15 NA
Amazon Linux 2 ?
  1. See also https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Linux_compatibility_matrix
  2. See also https://pkgs.org/download/llvm

See also