We are happy to announce that LLVM 18.1.2 is now released!
This includes the main LLVM project, and it’s subprojects including clang, lld, libc++, and MLIR.
Download
Find sources and binaries on GitHub .
A note on binaries
Binaries for the LLVM project are made by volunteers and will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration.
Next release
Next release will be 18.1.3 on the 2nd of April. Please file issues you find in 18.1.2 in the 18.x milestone .
Changes
- Phoebe Wang: [X86] Add missing subvector_subreg_lowering for BF16 (#83720) (26a1d6601d72)
- Chuanqi Xu: [C++20] [Moduls] Avoid computing odr hash for functions from comparing constraint expression (0bf7ff1028fb)
- Luke Lau: [RISCV] Fix mgather → riscv.masked.strided.load combine not extending indices (#82506) (a2c93b34dfdf)
- Luke Lau: [RISCV] Adjust test case to show wrong stride. NFC (a9d4ed71707d)
- Luke Lau: [RISCV] Add test case for miscompile in gather → strided load combine. NFC (42f511c95c6f)
- Nikita Popov: [TSan] Fix atomicrmw xchg with pointer and floats (#85228) (53ea0de61dcd)
- Patryk Wychowaniec: [AVR] Remove earlyclobber from LDDRdPtrQ (#85277) (fd9f1faf8fcb)
- David CARLIER: Revert “release/18.x: [openmp] __kmp_x86_cpuid fix for i386/PIC builds. (#846…” (2d35ba4a8577)
- Qiu Chaofan: [PowerPC] Update chain uses when emitting lxsizx (#84892) (df20f2fc9998)
- Martin Storsjö: [llvm-shlib] Fix the version naming style of libLLVM for Windows (#85710) (c09f6f6f4341)
- Tom Stellard: [llvm-shlib] Fix libLLVM-18 symlink on mingw (#85554) (cba6ebf0d0ab)
- Tom Stellard: llvm-shlib: Fix libLLVM-${MAJOR}.so symlink on MacOS (#85163) (bcf98bd84199)
- Alex Crichton: [WebAssembly] Change the default linker for
wasm32-wasip2
(#84569) (b1f1effacf32) - Tom Stellard: workflows: Fix baseline version for llvm abi checks (#85166) (ecc22d27e5b8)
- Yingwei Zheng: [InstCombine] Drop UB-implying attrs/metadata after speculating an instruction (#85542) (7fd9979eb9cf)
- Weining Lu: [lld][LoongArch] Fix handleUleb128 (edbe7fa5fef9)
- Weining Lu: [lld][test] Fix sanitizer buildbot failure (b95ea2e51bdf)
- Daniel Paoliello: Remove support for EXPORTAS in def files to maintain ABI compatibility for COFFShortExport (2f640ad26d17)
- Daniel Paoliello: [Arm64EC] Copy import descriptors to the EC Map (#84834) (207ecd684cc6)
- Jacek Caban: [llvm-lib][Object] Add support for EC importlib symbols. (#81059) (79bc8b32c6ed)
- Jacek Caban: [llvm-lib][llvm-dlltool][Object] Add support for EXPORTAS name types. (#78772) (76e1800f3565)
- Jacek Caban: [llvm-readobj][Object][COFF] Print COFF import library symbol export name. (#78769) (77e1992e89d3)
- Louis Dionne: [libc++] Use clang-tidy version that matches the compiler we use in the CI (#85305) (3a06861272d8)
- Nathan Ridge: [clangd] [HeuristicResolver] Protect against infinite recursion on DependentNameTypes (#83542) (0c1dcd675291)
- Ian Anderson: [clang][modules] giving the _stddef headers their own modules can cause redeclaration errors with -fbuiltin-headers-in-system-modules (#84127) (a649e0a6e80f)
- Tom Stellard: workflows: Add workaround for lld failures on MacOS (#85021) (#85110) (12a3bf351575)
- David CARLIER: release/18.x: [openmp] __kmp_x86_cpuid fix for i386/PIC builds. (#84626) (#85053) (9b3edb592deb)
- Nathan Ridge: [clangd] Add clangd 18 release notes (#84436) (600f7f2ba28f)
- Martin Storsjö: [runtimes] Prefer -fvisibility-global-new-delete=force-hidden (#84917) (bb83f055091c)
- Fangrui Song: [ELF] Eliminate symbols demoted due to /DISCARD/ discarded sections (#85167) (122ba9f10070)
- Jonas Paulsson: SystemZ release notes for 18.x. (#84560) (33c6b2027698)
- Nikita Popov: [X86][Inline] Skip inline asm in inlining target feature check (#83820) (8c6015db5912)
- Nikita Popov: [Inline] Add test for #67054 (NFC) (38cf35dee880)
- Florian Hahn: [ValueTracking] Treat phi as underlying obj when not decomposing further (#84339) (c7eb919d2cbe)
- Florian Hahn: [LAA] Add test case for #82665. (b01c3dcf2eb5)
- azhan92: [Release] Install compiler-rt builtins during Phase 1 on AIX (#81485) (159969b3880b)
- Florian Hahn: [ArgPromotion] Remove incorrect TranspBlocks set for loads. (#84835) (7b61ddefc28a)
- Florian Hahn: [ArgPromotion] Add test case for #84807. (25a989ce8bf3)
- Martin Storsjö: [LLD] [COFF] Set the right alignment for DelayDirectoryChunk (#84697) (2fc8bea42f99)
- Simon Pilgrim: [X86] combineAndShuffleNot - ensure the type is legal before create X86ISD::ANDNP target nodes (fcc33dca02d1)
- Florian Hahn: [DSE] Remove malloc from EarliestEscapeInfo before removing. (#84157) (39e3ba8a383e)
- Yingwei Zheng: [InstCombine] Fix miscompilation in PR83947 (#83993) (3f8711fc5e01)
- wanglei: [Clang][LoongArch] Fix wrong return value type of __iocsrrd_h (#84100) (9b9aee16d4dc)
- wanglei: [Clang][LoongArch] Precommit test for fix wrong return value type of __iocsrrd_h. NFC (a9ba36c7e7d7)
- wanglei: [LoongArch] Make sure that the LoongArchISD::BSTRINS node uses the correct
MSB
value (#84454) (d77c5c3830d9) - Phoebe Wang: [X86] Add missing subvector_subreg_lowering for BF16 (#83720) (26a1d6601d72)
- Chuanqi Xu: [C++20] [Moduls] Avoid computing odr hash for functions from comparing constraint expression (0bf7ff1028fb)
- Luke Lau: [RISCV] Fix mgather → riscv.masked.strided.load combine not extending indices (#82506) (a2c93b34dfdf)
- Luke Lau: [RISCV] Adjust test case to show wrong stride. NFC (a9d4ed71707d)
- Luke Lau: [RISCV] Add test case for miscompile in gather → strided load combine. NFC (42f511c95c6f)
- Nikita Popov: [TSan] Fix atomicrmw xchg with pointer and floats (#85228) (53ea0de61dcd)
- Patryk Wychowaniec: [AVR] Remove earlyclobber from LDDRdPtrQ (#85277) (fd9f1faf8fcb)
- David CARLIER: Revert “release/18.x: [openmp] __kmp_x86_cpuid fix for i386/PIC builds. (#846…” (2d35ba4a8577)
- Qiu Chaofan: [PowerPC] Update chain uses when emitting lxsizx (#84892) (df20f2fc9998)
- Martin Storsjö: [llvm-shlib] Fix the version naming style of libLLVM for Windows (#85710) (c09f6f6f4341)
- Tom Stellard: [llvm-shlib] Fix libLLVM-18 symlink on mingw (#85554) (cba6ebf0d0ab)
- Tom Stellard: llvm-shlib: Fix libLLVM-${MAJOR}.so symlink on MacOS (#85163) (bcf98bd84199)
- Alex Crichton: [WebAssembly] Change the default linker for
wasm32-wasip2
(#84569) (b1f1effacf32) - Tom Stellard: workflows: Fix baseline version for llvm abi checks (#85166) (ecc22d27e5b8)
- Yingwei Zheng: [InstCombine] Drop UB-implying attrs/metadata after speculating an instruction (#85542) (7fd9979eb9cf)
- Weining Lu: [lld][LoongArch] Fix handleUleb128 (edbe7fa5fef9)
- Weining Lu: [lld][test] Fix sanitizer buildbot failure (b95ea2e51bdf)
- Daniel Paoliello: Remove support for EXPORTAS in def files to maintain ABI compatibility for COFFShortExport (2f640ad26d17)
- Daniel Paoliello: [Arm64EC] Copy import descriptors to the EC Map (#84834) (207ecd684cc6)
- Jacek Caban: [llvm-lib][Object] Add support for EC importlib symbols. (#81059) (79bc8b32c6ed)
- Jacek Caban: [llvm-lib][llvm-dlltool][Object] Add support for EXPORTAS name types. (#78772) (76e1800f3565)
- Jacek Caban: [llvm-readobj][Object][COFF] Print COFF import library symbol export name. (#78769) (77e1992e89d3)
- Louis Dionne: [libc++] Use clang-tidy version that matches the compiler we use in the CI (#85305) (3a06861272d8)
- Nathan Ridge: [clangd] [HeuristicResolver] Protect against infinite recursion on DependentNameTypes (#83542) (0c1dcd675291)
- Ian Anderson: [clang][modules] giving the _stddef headers their own modules can cause redeclaration errors with -fbuiltin-headers-in-system-modules (#84127) (a649e0a6e80f)
- Tom Stellard: workflows: Add workaround for lld failures on MacOS (#85021) (#85110) (12a3bf351575)
- David CARLIER: release/18.x: [openmp] __kmp_x86_cpuid fix for i386/PIC builds. (#84626) (#85053) (9b3edb592deb)
- Nathan Ridge: [clangd] Add clangd 18 release notes (#84436) (600f7f2ba28f)
- Martin Storsjö: [runtimes] Prefer -fvisibility-global-new-delete=force-hidden (#84917) (bb83f055091c)
- Fangrui Song: [ELF] Eliminate symbols demoted due to /DISCARD/ discarded sections (#85167) (122ba9f10070)
- Jonas Paulsson: SystemZ release notes for 18.x. (#84560) (33c6b2027698)
- Nikita Popov: [X86][Inline] Skip inline asm in inlining target feature check (#83820) (8c6015db5912)
- Nikita Popov: [Inline] Add test for #67054 (NFC) (38cf35dee880)
- Florian Hahn: [ValueTracking] Treat phi as underlying obj when not decomposing further (#84339) (c7eb919d2cbe)
- Florian Hahn: [LAA] Add test case for #82665. (b01c3dcf2eb5)
- azhan92: [Release] Install compiler-rt builtins during Phase 1 on AIX (#81485) (159969b3880b)
- Florian Hahn: [ArgPromotion] Remove incorrect TranspBlocks set for loads. (#84835) (7b61ddefc28a)
- Florian Hahn: [ArgPromotion] Add test case for #84807. (25a989ce8bf3)
- Martin Storsjö: [LLD] [COFF] Set the right alignment for DelayDirectoryChunk (#84697) (2fc8bea42f99)
- Simon Pilgrim: [X86] combineAndShuffleNot - ensure the type is legal before create X86ISD::ANDNP target nodes (fcc33dca02d1)
- Florian Hahn: [DSE] Remove malloc from EarliestEscapeInfo before removing. (#84157) (39e3ba8a383e)
- Yingwei Zheng: [InstCombine] Fix miscompilation in PR83947 (#83993) (3f8711fc5e01)
- wanglei: [Clang][LoongArch] Fix wrong return value type of __iocsrrd_h (#84100) (9b9aee16d4dc)
- wanglei: [Clang][LoongArch] Precommit test for fix wrong return value type of __iocsrrd_h. NFC (a9ba36c7e7d7)
- wanglei: [LoongArch] Make sure that the LoongArchISD::BSTRINS node uses the correct
MSB
value (#84454) (d77c5c3830d9)