LLVM Weekly - #625, December 22nd 2025
Welcome to the six hundred and twenty-fifth issue of LLVM Weekly, a weekly newsletter (published every Monday) covering developments in LLVM, Clang, and related projects. LLVM Weekly is brought to you by Alex Bradbury. Subscribe to future issues at https://llvmweekly.org and pass it on to anyone else you think may be interested. Please send any tips or feedback via email: asb@asbradbury.org, or Mastodon: @llvmweekly@fosstodon.org / @asb@fosstodon.org, or Bluesky: @llvmweekly.org / @asbradbury.org.
News and articles from around the web and events
The program for the FOSDEM 2026 LLVM dev room has been published.
The next LLVM meetup in Munich will take place on January 22nd 2026.
According to the LLVM Calendar in the coming week there will be the following (I expect several of these are actually meant to be cancelled due to the holidays!).
- Office hours with the following hosts: Johannes Doerfert, Amara Emerson
- Online sync-ups on the following topics: Flang, modules, libc++, lifetime safety, LLVM/Offload, SPIR-V, HLSL.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Tue Ly is starting up a new biweekly LLVM libc math library meeting.
Jin Huang proposed upstreaming the Propeller profile conversion tool.
Nikita Popov returned to the topic of removing subproject tarballs from future LLVM releases.
Reid Kleckner shared a new iteration of the proposed LLVM AI tool policy.
LLVM 21.1.8 was released.
Stefan Gränitz summarised discussion on the reference pass-plugin proposal so far.
Alex Zinenko and the other MLIR workshop organisers are seeking feedback on the format.
LLVM commits
The X86 backend will attempt to store i256/i512 types as v4i64/v8i64 vectors. b368357.
A script was added to push a change to LLVM through making a PR first. d68afde.
Processor definitions were added for the Arm C1 processor series. 23f967a.
It’s now possible to have a plugin run code between optimisations and the backend passes. cd806d7.
The first patch for Lightweight Fault Isolation (LFI) support on AArch64 landed. I’d highlight it primarily for the documentation on LFI which was part of it. 2c05ae4.
The ExpandLargeDivRem pass was merged into ExpandFp, which was then renamed to ExpandIRInsts. 71760f3, 5c05824.
Initial codegen support for big-endian RISC-V was added. fefda86.
Clang commits
Initial infrastructure was added for ClangIR lowering of OpenMP directives. 2e2e48f.
ClangIR syntax for scalable vectors was upstreamed. 0af137c.
ClangIR CXXABI lowering was move to a standalone CIR-to-CIR transform pass. 58cf128.
clang-tidy now lets the user specify compiler arguments to remove with
--removed-arg. This is intended to make it easier to apply clang-tidy to a compilation database generated for another compiler (as it may have arguments clang-tidy doesn’t recognise). 5ba6256.The abseil-unchecked-statusor-access checker was added. 908a5a8.
Other project commits
OpenMP is now built and shipped with LLVM releases. a93214c.
The Scudo secure memory allocator now has an option to zero memory on deallocation. 316116e.
Flang gained a FAQ about warnings/errors related to an executable stack. 20449bc.
LLVM libc’s documentation was updated to reflect the project’s current strategy. 0ca779f.
LLDB’s troubleshooting document was updated to cover register info problems. 31e757d.
Documentation was added to MLIR on the AMDGPU and ROCDL dialects. 32040d1.
The math-to-apfloat pass was added to MLIR. It will convert math operations to APFloat-based runtime library calls. 7f1a30e.
An LLVM Offload plugin was added for Intel oneAPI Level Zero. f125c8d.