LLVM

LLVM 23.1.4

A collection of modular and reusable compiler and toolchain technologies.

  • By LLVM
  • Open Source
  • Updated Oct 20, 2026
Download for Windows

About LLVM

A collection of modular and reusable compiler and toolchain technologies.

What's new in 23.1.4

The full list of changes since 23.1.3 can be viewed here:
Changes
- Tom Stellard: github-upload-release: Update script to work with draft releases (#229909) (7a941dfb2877)
- Rito Takeuchi: [X86] Fix constant vector i64 signed div/rem on 32-bit targets (#229244) (4635269e3782)
- Hongyu: [GlobalISel] Drop nuw/nsw/disjoint when widening a result with G_ANYEXT (#218558) (524ac171cd43)
- Nikita Popov: [InstCombine] Drop poison-generating annotations forming min/max for clamp (#231537) (fdf44b31a63e)
- Alex Rønne Petersen: [Mips] Fix symbol names for private functions in relocation hints (#230572) (d5f50fc559a2)
- Alex Rønne Petersen: [Mips] Lower calls to private functions the same way as internal functions (#229975) (52e90e1917a4)
- Alex Rønne Petersen: [clang][bytecode] disable tail calls on mips (#229679) (d5ff1316673e)
- Nick Desaulniers: [ARM] Fix miscompile in MAC for 64b values (#231702) (41042adf8339)
- Daniel Cederman: [SPARC] Lower dynamic v2i32 vector extracts on 32-bit SPARC (#222348) (6c859967be70)
- Fangrui Song: [ELF] Move layout-changing transforms before address assignment (#232189) (71c76755a8ff)
- Daniel Moody: [PowerPC] Don’t let optimizeCompareInstr define CR0 while it is still live (#220999) (d946f7b2b214)
- Amaan Qureshi: [Clang][counted_by] Load the count through unions by byte offset (#228309) (a5eac6566485)
- Doha Nam: [X86] Don’t treat vectors with elements wider than 64 bits as immediate-shiftable (#228840) (beb6b7dfae46)
- Nikita Popov: [SimplifyLibCalls] Fix ConstantInt construction based on char (#231159) (0cd28174a1f6)
- Florian Hahn: [SCEV] Add missing scPtrToAddr to getCastExpr. (#211899) (d66309da4d8d)
- Nikita Popov: [Passes] Run MergeICmps/ExpandMemCmps in LTO post-link pipeline (#230562) (94ae4f86b8f3)
- Brad Smith: [Mips] Remove experimental warning bits in a few places (#223230) (7909311aa6f3)
- BtbN: [llvm-objcopy][COFF] Keep COMDAT section definition symbols when stripping (#228783) (1be9d5eb62e0)
- Amy Kwan: release/23.x: [llvm-ar][GOFF] Implement symbol attributes for GOFF archives (#214528) (8451016186f2)
- Alexandre Ganea: Change release notes wording (1b843902f5b4)
- Alexandre Ganea: workflows/release-binaries: Improve Windows installer (#220414) (ca0b6a823a5b)
- Ryan VanderMeulen: [Windows] Export Registry members and accessors for plugins again (#221296) (5177329b802a)
- Timur Golubovich: [X86] Don’t double count the interrupt stack alignment push in StackSize (#224029) (bb46d66418b9) …

Full release notes »

Technical details

PublisherLLVM
Version23.1.4
Release date2026-10-20
LicenseApache-2.0 with LLVM Exceptions
Installer typewix
Architecturex64, arm64
Package IDLLVM.LLVM

Links & install command

Install LLVM from the command line with Windows Package Manager (winget):

winget install --id=LLVM.LLVM -e

cc++clangcompilecompilerlldlldbllvmobjective-ctoolchain

Older versions

  • 23.1.3
  • 23.1.2
  • 23.1.1
  • 22.1.8
  • 22.1.7
  • 22.1.6
  • 22.1.5
  • 22.1.4
  • 22.1.3