LLVM Weekly - #628, January 12th 2026
Welcome to the six hundred and twenty-eighth 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
Nikita Popov wrote up a blog post on LLVM: the bad parts, noting “This is not a list of reasons to not use LLVM, it’s a list of opportunities to improve LLVM”.
The January Portland LLVM social will take place on January 15th. Also on January 15th is the Beijing LLVM Tech Meetup. The LLVM Bay Area January meetup is happening on January 26th.
According to the LLVM Calendar in the coming week there will be the following:
- Office hours with the following hosts: Aaron Ballmn, Alexey Bader, Alina Sbirlea, Kristof Beyls, Johannes Doerfert.
- Online sync-ups on the following topics: formal specification, MLIR C/C++ frontend, ClangIR, alias analysis, pointer authentication, OpenMP, Flang, SPIR-V, RISC-V, LLVM libc, HLSL, LLVM libc math.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
LLVM 22.x will be branching on Tuesday 13th January.
Neal Gompa started an RFC discussion on changing the release process to freeze the LLVM library ABI from RC1. There was concern this is too early in the release process, and the discussion moved slightly towards a wider discussion of release timing.
Reid Kleckner shared results from benchmarking a static vs dynamic link build and test, including with ld.bfd.
Maksim Levental shared a public service announcement on better dialect types and attributes support in the MLIR Python bindings.
Yunbo Ni shared initial results from a research project on ‘targeted testing’ for LLVM, involving focused test generation for specific parts of LLVM.
The LLVM Project Council reported that the LLVM AI tool policy proposal is now accepted.
Tarun Prabhu posted a Flang RFC on supporting classic flang driver options in flang, which includes a poll.
Yonghong Song suggested a change to ThinLTO to benefit kernel live patching, specifically that static functions like
<foo>()shouldn’t be promoted to<foo>.llvm.<...>().
LLVM commits
An
ISD::CTLSSelectionDAG node was added for “count leading redundant sign bits”. 1b43f5c.Implicit truncation was disabled in
ConstantInt::get. d189b49.Documentation was added on memory profiling (MemProf) for LLVM. 1e93227.
opt-bisectnow has support for running ranges of passes. e.g.10-12,15-18. 7f9a00e.The
llvm.clmul(carry-less multiply) intrinsic was added. 9e5e267.Basic Mach-O triple support was added for RISC-V. 75d0251.
As part of the work to enable prefetch optimisation via Propeller, a new code prefetch insertion pass was introduced. ba6c5f8.
The
vector.spliceintrinsic was split intovector.splice.leftandvector.splice.right. ad4bfac.A SPIR-V legalisation pass was added for zero-size arrays. 75ec177.
ASCII is now default on SystemZ rather than EBCDC. 1671bb6.
The
softPromoteHalfTypef16 lowering is now enabled by default, and all backends other than SystemZ and AMDGPU use it. 3920bc6.
Clang commits
__builtin_allow_sanitize_checkwas added, returning true if the specified sanitizer is enabled for the current function. 0e2b162.More ClangIR was upstreamed, e.g.
ExtractmemberOp, AtomicExpr for aggregate expr. b326c32, 4bd84a9.The
wasm32-wasitarget was renamed towasm32-wasip1. 597ffbe.Some clang-tidy checks were sped up by switching to LLVM ADT containers from
std::ones. 6506f928.
Other project commits
Scripts were added to LLVM’s libc for generating the wctype classification lookup tables. 9373dbd.
A LoopInvariantCodeMotion pass was added for Flang FIR. 0bf4df8.
Support was added for cross-compiling the OpenCL libraries. 9315747.
The performance of libc++’s
search_nwas significantly improved. 06c6a50.A shared library,
MLIRPythonSupportwas added. The commit message explains the motivation in some detail, and summarised in this PSA. f0ef5db, ee3338d.