We are happy to announce that LLVM 20.1.1 is now released!
Download
Find sources on GitHub.
A note on binaries
Official binaries will not be available right away. They will be provided later.
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
The next release will be 20.1.2 in two weeks. Please file issues you find in the 20.x milestone.
Notable Changes:
- Fixed an issue about implicit device attributes of virtual destructors which causes undefined symbols for CUDA/HIP programs which use std::string as class members with C++20 and MSVC.
- Fix a performance regression related to computed gotos, which usually affects interpreter projects. If you are using Clang 19, adding
-mllvm -tail-dup-pred-size=100000
should restore the original performance. - Fixes building LLDB with ncurses support when terminfo symbols are provided in a separate tinfo library.
Changes since 20.1.0
- Takuto Ikuta: [libcxx] Add a missing include for __bit_iterator (#127015) (424c2d9b7e4d)
- Yingwei Zheng: [SCEV] Check whether the start is non-zero in
ScalarEvolution::howFarToZero
(#131522) (2cc53628fbe8) - yonghong-song: [BPF] Add default cpu change in ReleaseNotes (#131691) (0619bbcbbd86)
- Corentin Jabot: fix abi (again) (2dc152fb40db)
- Corentin Jabot: fix abi (2044b18af046)
- cor3ntin: [Clang] Do not emit nodiscard warnings for the base expr of static member access (#131450) (e3f0ce3ef803)
- Yaxun (Sam) Liu: [CUDA][HIP] fix virtual dtor host/device attr (#128926) (0ceb4efefeaa)
- A. Jiang: [libc++][test] Skip a
is_virtual_base_of
test for apple-clang-17 (#131438) (1058e693f090) - Louis Dionne: [libc++] Forward-proof some tests for AppleClang 17 (1f9d00524b8c)
- Florian Hahn: [LAA] Consider accessed addrspace when mapping underlying obj to access. (#129087) (1515c4ac202d)
- Younan Zhang: Backport/20.x: [Clang] Fix an incorrect assumption on getTemplatedDecl() (1cfbb9f33436)
- yonghong-song: [BPF] Fix BitCast Assertion with NonZero AddrSpace (0fcfeacd8b99)
- higher-performance: Reduce memory usage in AST parent map generation by lazily checking if nodes have been seen (#129934) (0b23d98dceaa)
- Matt Arsenault: AMDGPU: Fix broken broken negative test for gfx950 assembler (#129667) (#129686) (073ae08864b4)
- Daniel Rodríguez Troitiño: [llvm-objcopy] Apply encryptable offset to first segment, not section (#130517) (cb50aaf8a11b)
- Younan Zhang: [Clang] Fix an integer overflow issue in computing CTAD’s parameter depth (#128704) (63e63f306128)
- Nikita Popov: [MemCpyOpt] Fix clobber check in fca2memcpy optimization (b09b05b8e7c3)
- Jonas Paulsson: [SystemZ] Move disabling of arg verification to before isFullyInternal(). (#130693) (64ae6413559e)
- Simon Pilgrim: [VectorCombine] scalarizeLoadExtract - don’t create scalar loads if any extract is waiting to be erased (#129375) (548d057ebcfa)
- Joseph Huber: [Clang] Fix GPU intrinsic helpers incorrectly sign extending (#129560) (7c154dad4d15)
- Paul Osmialowski: [libc++][test] extend XFAIL clauses to cover Amazon Linux too (#129377) (946780474f3b)
- Lu Weining: [LoongArch] Relax the restrictions of inlineasm operand modifier ‘u’ and ‘w’ (#129864) (f09bcfbdc90b)
- DianQK: [ValueTracking] Skip incoming values that are the same as the phi in
isGuaranteedNotToBeUndefOrPoison
(#130111) (f62b50e0e8f1) - aankit-ca: [HEXAGON] Fix hvx-isel for extract_subvector op (#129672) (50343e517992)
- DianQK: [TailDuplicator] Do not restrict the computed gotos (#114990) (0412f708c380)
- David Spickett: [clang][test] Don’t require specific alignment in test case (#130589) (72c4a3f419f4)
- Eli Friedman: [clang] Reject constexpr-unknown values as constant expressions more consistently (#129952) (fbb2a7e74d91)
- Yingwei Zheng: [Clang] Treat constexpr-unknown value as invalid in
EvaluateAsInitializer
(#128409) (9010db1b84ef) - David Green: [AArch64] Fix BE popcount casts. (#129879) (32ce5b043c2b)
- David Green: [AArch64] Add BE test coverage for popcount. NFC (05be3ca72e39)
- Yingwei Zheng: [ValueTracking] Bail out on x86_fp80 when computing fpclass with knownbits (#130477) (0e96713a3b29)
- Phoebe Wang: [X86][AVX10.2] Fix unexpected larger scope (#130767) (0fda7e633255)
- Owen Pan: [clang-format] Don’t remove parentheses separated from ellipsis by comma (#130471) (f7a4e3a4d45d)
- David Green: [AArch64] Don’t try to custom lower fp16 selects with nofp (#129492) (1d4d84c89be6)
- Yingwei Zheng: [DAGCombiner] Don’t ignore N2’s undef elements in
foldVSelectOfConstants
(#129272) (0064565bce3f) - Jordan R AW: [lldb] Fix manual CURSES_LIBRARIES tinfo finding (#128245) (54c90e4cdf2f)
- Jordan R AW: [lldb] Add terminfo dependency for ncurses support (#126810) (712d3c7f0944)
- pkarveti: [Hexagon] Handle Call Operand vxi1 in Hexagon Backend (#128027) (6525b151fe77)
- Louis Dionne: [libc++] Guard contents on _LIBCPP_HAS_LOCALIZATION (#129112) (dcc378e862de)
- Jonathan Albrecht: [SystemZ] Add header guard macros to vecintrin.h (#129170) (0f5e7e86e38e)
- Elvis Wang: [LV][VPlan] Prevent calculate cost for skiped instructions in precomputeCosts(). (#127966) (5b552d780ae8)
- Martin Storsjö: [libc++][ci] Update the Windows toolchains to Clang 19 (#129232) (20adce87104c)
- Tom Stellard: Bump version to 20.1.1 (#130806) (0e537474ea59)