We are happy to announce that LLVM 20.1.0-rc3 is now released!
This includes the main LLVM project, and its subprojects including clang, lld, libc++, and MLIR.
Download
Find sources on GitHub.
A note on binaries
Official binaries should be ready within 24 hours.
Third-party binaries will be posted to the following forum thread. Note that these binaries are not created or checked by the release managers, they should be used with care.
Next release
If we don’t need another release candidate, the next release will be 20.1.0 on the 11th of March. Please file issues you find in the 20.x milestone.
ChangeLog
- Tom Stellard: Bump version to 20.1.0-rc3 (a69568efe6c4)
- Tom Stellard: [CMake][Release] Statically link ZSTD on all OSes (#128554) (560ac756cb18)
- Tom Stellard: [CMake][Release] Enable bolt optimization for clang on Linux (#128090) (a2112e20c736)
- Nikita Popov: [PPC][MC] Restore support for case-insensitive register names (#128525) (b8b7fce446a6)
- Amy Kwan: [PowerPC] Update LLVM 20.1.0 Release Notes (#128764) (5d3b9e2f92bb)
- Stephen Tozer: Do not treat llvm.fake.use as a debug instruction (#128684) (addf1c97117e)
- Ikhlas Ajbar: [Hexagon] Add a case to BitTracker for new register class (#128580) (d18f15fe53bc)
- Alexandre Ganea: On Windows, remove the UCRT libraries from the release script (#128378) (c02bd85194d3)
- Jonas Hahnfeld: [Support] Ensure complete type DelimitedScope (#127459) (83081919e423)
- Matt Arsenault: Revert “[clang][OpenCL][CodeGen][AMDGPU] Do not use
private
as the default AS for whengeneric
is available (#112442)” (2cb3798958a4) - Yingwei Zheng: [X86][DAGCombiner] Skip x87 fp80 values in
combineFMulOrFDivWithIntPow2
(#128618) (c99be9188631) - Chuanqi Xu: [Serialization] Update DECL_LAST (d6fd6e4d6acf)
- Younan Zhang: [Clang] Handle instantiating captures in addInstantiatedCapturesToScope() (#128478) (d919b8d97b12)
- David Truby: [flang] fix AArch64 PCS for struct following pointer (#127802) (350e0e2b4533)
- Yingwei Zheng: [DAGCombiner] visitFREEZE: Early exit when N is deleted (#128161) (69ee30f9db77)
- Chuanqi Xu: [C++20] [Modules] handling selectAny attribute for vardecl (eb389b1259c3)
- Joseph Huber: [OpenMP] Fix misspelled symbol name (#126120) (0bc2eb7458dc)
- Nikita Popov: [mlir][cmake] Do not export MLIR_MAIN_SRC_DIR and MLIR_INCLUDE_DIR (#125842) (160e6ace3e1a)
- Alexey Bataev: [SLP] Check for PHI nodes (potentially cycles!) when checking dependencies (098492a228f7)
- Matt Arsenault: AMDGPU: Widen f16 minimum/maximum to v2f16 on gfx950 (#128121) (e6d4fd035fdf)
- Joseph Huber: [Clang] Fix cross-lane scan when given divergent lanes (#127703) (e0c4a3397fd2)
- Louis Dionne: [libc++] Reduce the dependency of the locale base API on the base system from the headers (#117764) (43a04b1db604)
- Louis Dionne: [libc++] Fix stray usage of _LIBCPP_HAS_NO_WIDE_CHARACTERS on Windows (af9d7dda2125)
- Sebastian Jodłowski: [CUDA] Add support for sm101 and sm120 target architectures (#127187) (b84ffb9f3b34)
- Hans Wennborg: Add Wasm, RISC-V, BPF, and NVPTX targets back to Windows release packaging (#127794) (b727a13fecc4)
- Matt Arsenault: AMDGPU: Add some release 20 notes (#128136) (d51f23377a77)
- Sudharsan Veeravalli: [RISCV] [MachineOutliner] Analyze all candidates (#127659) (3076a68f69aa)
- Matheus Izvekov: [clang] Track function template instantiation from definition (#125266) (#127777) (deb63e72d6c9)
- Hassnaa Hamdi: [VPlan] Compute cost for binary op VPInstruction with underlying values. #125434 (720ab3be5f83)
- Mariya Podchishchaeva: [clang] Fix preprocessor output from #embed (#126742) (8e06e0e65ffa)
- Alexander Richardson: [CSKY] Default to unsigned char (77195a5edb33)
- Tom Stellard: [CMake][Release] Statically link clang with stage1 runtimes (#127268) (dc1bd6a8fa6a)
- Matt Arsenault: AMDGPU: Stop emitting an error on illegal addrspacecasts (#127487) (#127751) (1504fc57d88d)
- Louis Dionne: [libc++] Guard include of <features.h> with __has_include (#127691) (d420bf8a299a)
- Matheus Izvekov: Backport: [clang] fix P3310 overload resolution flag propagation (#125791) (9189ca872252)
- Zixu Wang: Revert "[C++20][Modules][Serialization] Delay marking pending incompl… (#127136) (99947c59de7b)
- Younan Zhang: release/20.x: [Clang] Remove the PackExpansion restrictions for rewrite substitution (#127174) (3007684f8646)
- David Green: [GlobalISel][AArch64] Fix fptoi.sat lowering. (#127901) (6dcece41472d)
- A. Jiang: [libc++] Set feature-test macro
__cpp_lib_atomic_float
(#127559) (05cce88ab900) - Tom Stellard: workflows/release-binaries: Disable Flang on x86_64 macOS (#127216) (6ea036737236)
- Mark de Wever: [libc++][TZDB] Fixes mapping of nonexisting time. (#127330) (e7e2c16cac97)
- Kerry McLaughlin: [LLVM][AArch64] Remove aliases of LSUI instructions (#126072) (239faf0b9dbc)
- Tom Stellard: flang: Fix build with latest libc++ (#127362) (2b70b17d3074)
- Louis Dionne: [libc++] Avoid including <features.h> on arbitrary platforms (#125587) (876a5c9e5905)
- Nikolas Klauser: Revert “[libc++] Reduce std::conjunction overhead (#124259)” (04295354b0f0)
- Vigneshwar Jayakumar: AMDGPU: Handle gfx950 XDL Write-VGPR-VALU-WAW wait state change (#126132) (e503227bc576)
- Haojian Wu: [clang] Fix false positive regression for lifetime analysis warning. (#127460) (6b57839efb20)
- Fraser Cormack: [libclc] Disable external-calls testing for clspv targets (#127529) (f567c0322176)
- Owen Pan: [clang-format] Fix a bug in annotating StartOfName (#127545) (34f5f905f713)
- Brian Cain: [Hexagon] Explicitly truncate constant in UAddSubO (#127360) (3dedc9985a65)
- Mark de Wever: [libc++] Fixes (|multi)_set spaceship operator. (#127326) (819cac640043)
- Matheus Izvekov: [clang] StmtPrinter: Handle DeclRefExpr to a Decomposition (#125001) (99eab31a80d9)
- Florian Hahn: [TBAA] Don’t emit pointer-tbaa for void pointers. (#122116) (7643bd660236)
- Brad Smith: [OpenMP][libomp] Add OpenBSD, NetBSD and DragonFly stdarg handling (#126182) (5707853ff790)
- Jeremy Morse: [ReleaseNotes][RemoveDIs] Add release note for deprecated insertion methods (#127493) (5c126253ca4e)
- Yingwei Zheng: [InstCombine] Do not keep samesign when speculatively executing icmps (#127007) (9e02cc4080f2)
- Fangrui Song: [ELF] Refine isExported/isPreemptible condition (9bcc825ee491)
- Fangrui Song: [ELF] Merge exportDynamic/isExported and remove Symbol::includeInDynsym (02a511e42c67)
- Fangrui Song: [ELF] ICF: replace includeInDynsym with isExported (a2b502050302)
- Craig Topper: [PowerPC] Use getSignedTargetConstant in SelectOptimalAddrMode. (#127305) (94291653a741)
- Mark de Wever: [libc++][format] Disables the FTM on older MacOS versions. (#126547) (8b73dad22478)
- Brad Smith: [llvm][Support] Enable dl_iterate_phdr support on OpenBSD and DragonFly (#125186) (73315311bd6a)
- Florian Mayer: [NFC] [clang] fixed unused variable warning (d135ed0e3166)
- Lang Hames: [ORC] Switch to singleton pattern for UnwindInfoManager. (#126691) (4fa59872f61b)
- Tom Stellard: Revert “[SLP] Check for PHI nodes (potentially cycles!) when checking dependencies” (d90afbca9367)
- Alexey Bataev: [SLP] Check for PHI nodes (potentially cycles!) when checking dependencies (2eb558c99d96)
- Owen Pan: [clang-format] Add ClassHeadName to help annotating StartOfName (#124891) (6d3b034f8f7d)
- Owen Pan: [clang-format] Fix annotation of Java/JavaScript keyword extends (#125038) (94b97d19b7fa)
- Haojian Wu: Diagnose the code with trailing comma in the function call. (#125232) (37f7f151e586)
- Petr Hosek: [libc] Move LLVM_LIBC define to __llvm-libc-common.h (#126877) (2a358bac7874)
- Harald van Dijk: [reland][DebugInfo] Update DIBuilder insertion to take InsertPosition (#126967) (4f10d6d3ae1a)
- Sylvestre Ledru: libc/cmake: don’t fail if LLVM_VERSION_SUFFIX isn’t defined (#126359) (17dd52ca6b0e)
- Nathan Ridge: [clang][AST] Handle dependent representation of call to function with explicit object parameter in CallExpr::getBeginLoc() (#126868) (79da30bceea0)
- Tristan Ross: [ORC][unittests] Remove hard coded 16k page size (#127115) (a54f1aaa4b6a)
- Owen Pan: [clang-format] Fix a crash on parsing requires clause (#125021) (a7f00c8ed8c2)
- Owen Pan: [clang-format] Hanlde qualified type name for
QualifierAlignment
(#125327) (82150695fb94) - CarolineConcatto: Add release note for Armv9.6 updates (#126513) (539174b470f4)
- Nikita Popov: [BOLT] Use getMainExecutable() (#126698) (c99d6118fe0d)
- Michał Górny: [llvm] [cmake] Expose
LLVM_BUILD_TELEMETRY
inLLVMConfig.cmake
(#126710) (2342bb2b0043) - David Green: [AArch64][DAG] Allow fptos/ui.sat to scalarized. (#126799) (cc60c22a9247)