llvm - AshokBhat/notes GitHub Wiki
- Compiler Infrastructure
- Open source
| 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 |
- 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.
- Roughly every 6 months
- Release manager - Hans Wennborg (Google)
| 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 |
- 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
- See LLVM 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 | ? |
- See also https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Linux_compatibility_matrix
- See also https://pkgs.org/download/llvm
- Intermediate Representation
- MLIR
- LLVM Toolchain: llvm | llvm libc | lldb | lld | libc++ | compiler-rt
- GNU Toolchain : gcc | glibc | binutils | gdb | libstdc++ | libgcc
