LLVM Weekly - #629, January 19th 2026
Welcome to the six hundred and twenty-ninth 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 call for nominations for the 2026 LLVM Community Area Team Elections is now open, nominations are open through to January 25th.
Jonas Devlieghere blogged about LLDB developments in 2025.
Sahil Patidar wrote on the LLVM project blog about their GSoC project: advanced symbol resolution for clang-repl.
According to the LLVM Calendar in the coming week there will be the following:
- Office hours with the following hosts: Johannes Doerfert, Phoebe Wang.
- Online sync-ups on the following topics: Flang, modules, libc++, security response group, lifetime safety, LLVM/Offload, Clang C and C++ working group, OpenMP for flang, HLSL, memory safety, reflection.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
LLVM 22.x was branched and 22.1.0 was released.
Anton Korobeynikov has put out the call for project ideas and mentors for GSoC projects in 2026.
Britton Watson has published a call for mentors for the 2026 EuroLLVM dev meeting. “The LLVM Mentorship Program is a community-driven initiative designed to bridge the gap between initial interest in compiler technologies and active, meaningful contribution. We recognize that open-source contribution is not merely in the terminal; it requires navigating social structures, understanding governance, and identifying where one’s skills can best be applied.”
Fei Peng posted an RFC proposal on a mechanism for expressing memory cache control hints on memory accessing IR instructions.
YoungJunLee sought to clarify semantic assumptions for custom allocators, specifically around termination, exceptions, and side effects.
There was quite a lot more discussion on the AI-assisted Bazel fixer bot RFC, e.g. with Aiden Grossman summarising the bot’s success with the last six Bazel issues.
Billy Laws shared an RFC on value-profile guided function specialisation, noting performance gains of ~1% in the Protobuf and TCMalloc subbenchmarks of Google’s Fleetbench.
Peter Collingbourne shared the results of experiments to optimise conditional traps on X86-64.
LLVM commits
LLVM’s “human in the loop” AI contribution policy was committed. 18695b2.
LLVM now defaults to
-DCMAKE_BUILD_TYPE=Release. 438f887.A custom pre-regalloc scheduler was added to the RISC-V backend and used to schedule RVV instructions in a way to reduce vsetvli toggles. 564f2be, 79a1b80.
The
llvm.stackaddressintrinsic was added, returning the starting address of the stack region that may be used by called functions. a5fa246.A CI workflow was added for checking LLVM APIs have been annotated with
LLVM_ABI. d0235a1.MC layer support was added for the ‘XAIFET’ AI Foundry ET vendor extensions for RISC-V. d73cd71.
llvm::[not_]equal_towas used to clean up various pieces of code. d69335b.print-regusagecan now be used with the New Pass Manager. 7cc013a.llvm.convert.[to,from].arbitrary.fpintrinsics were added. 4e95be7.AArch64 gained a new pass after the VirtRegRewriter to add implicit defs, reflecting the impact GPR/FPR instructions that define the low N bits of a register have on the top bits. As noted in the commit message, this is seen as a temporary solution until such time as the register coalescer can be taught about these implicit defs. 91f5d73.
X86 lowering of minimum/maximum/minimumnum/maximumnum FP operations was optimised using bitwise operations. 7d5d4db.
The size of the RISC-V ISel tables was reduced from ~2.38 million bytes to ~1.38 million bytes by changing the way
HwModeis implemented. 08de4fd.An
llvm::formatvvariant ofllvm::createStringErrorwas added. e7da622.llvm::OwningArrayRefwas removed and its users moved tollvm::SmallVector. See the commit message for a detailed rationale (including the correctness issues). 74379c2.
Clang commits
A CMake cache file was added that demonstrates how to build a complete bare-metal Clang/LLVM toolchain capable of building the Raspberry Pi Pico SDK. a3a8e82.
The layering of “incremental executors” used by clang-repl was reworked, to better support implementations both with and without ORC. 19317ad.
LifetimeSafety gained support for tracking non-trivially destructed temporary objects. c6013a1.
Clang’s Scalable Static Analysis Framework (SSAF) Summary Extraction pipeline was documented. c5e95af.
Support was implemented for structural equivalence checking of attributes on Decls, including TableGen functionality to generate attribute equivalence checking functions. 6fac9b1.
Other project commits
The openmp-offload-amdgpu staging buildbot was moved to use ‘ScriptedBuilder’ with the build script kept within the llvm-project monorepo. f853880.
A lowering pass was added to Flang that converts FIR memory operations to the MemRef dialect. 2698d15.
Coding guidelines were added for libsycl. 4a4befe.
LLDB gained a trap handler unwind plan implementation for RISC-V. e884a44.
An IntRangeNarrowing optimisation was implemented in MLIR for narrowing loop induction variables. 1562161.
Unit test infrastructure was added for libopenmp. 26e10cd.