LLVM Weekly - #631, February 2nd 2026
Welcome to the six hundred and thirty-first 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
Fangrui Song wrote about LLD changes in the upcoming LLVM 22 release.
LLVM Community Area Team Elections are open for voting until February 9th. Thank you to everyone who put themselves forward.
A Beijing LLVM x RISC-V meetup will take place in Beijing on February 6th.
The next LLVM meetup Berlin will take place on 5th March.
According to the LLVM Calendar in the coming week there will be the following:
- Office hours with the following hosts: Quentin Colombet, Johannes Doerfert, Renato Golin.
- Online sync-ups on the following topics: Flang, MLIR C/C++ frontend, MemorySSA, qualification, modules, lifetime safety, LLVM/Offload, OpenMP for flang, HLSL, reflection.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Project ideas for this year’s GSoC have started to be posted. Check out the gsoc2026 tag on Discourse if you’re interested.
Aviral Goel posted a proposal for a Scalable Static Analysis Framework (SSAF) linker. This would combine summaries from mutiple translation units, as part of enabling whole-program static analysis.
Petr Hosek suggests adding a new PR label that can be applied to a PR that was landed unapproved, to make someone reviewed it.
Michael Chen would like to introduce a tool to automate the reduction of the backend pass pipeline, taking an interestingness test and removing non-essential passes until the minimal failing pipeline is found.
“ConvolutedDog” announced a VS code extension to help previewing TableGen .inc files.
Yingwei Zheng would like to upstream an undefined behaviour aware LLVM IR interpreter, which amongst other things would aid in reducing miscompilation reproducers. So far there is strong support, alongside questions of what happens to the existing ExecutionEngine interpreter.
LLVM 22.1.0-rc2 was released.
A thread on supported
-std=f2023for Fortran moved towards debating whether Fortran should enforce a particular Fortran specification by default.Louis Dionne started an RFC discussing on supporting the Clang
[[nonblocking]]attribute in libc++.
LLVM commits
Support (CPU definitions, a hardware errata fix, and exposing the correct set of supported instructions) was added for the Mips R5900 CPU used for the ‘Emotion Engine’ processor in the PlayStation 2. f4b593a.
TypePromoteFloat legalisation was removed from the SelectionDAG, as uses have all been removed. a7d48bd.
The Arm backend now counts
COPYoperations when estimating the compiled size of a function, to ensure it doesn’t under-estimate it. 0921542.RISC-V’s assembler gained support for Mach-O relocations. 460c9b2.
The necessary hooks to support select optimisation were implemented in the RISC-V backend, although it remains disabled by default. f4ceddd.
EarlyIfconversion has a new optional analysis to identify conditional branches on values loaded from memory. 7cf11ed.
To help debug VPlan, you can now use
-vplan-print-after-allto print after eachVPlanTransforms::runPass. d8621d6.GlobalIel is now used for
optnonefunctions on AArch64. ad1a45b.
Clang commits
Pointer-to-method cast support was implemented in ClangIR. 542e9b9.
The
stack_protector_ignoreattribute was added, which can be used to opt specific local variables out of the analysis that determines if a function should get a stack protector. a63696e.A method was documented for using the Clang Module Map with named modules. f58b37b.
Lifetime safety analysis learned to detect field references that refer to local variables or parameters that are no longer in scope. 47e9c1d.
Clang’s exception handling codegen was documented. 1ae93c6.
clang-tidy’s clang-reorder-fields check was documented. dea1d29.
modernize-use-structured-bindingandreadability-trailing-commachecks were added. 8c57531.
Other project commits
LLDB completions provided to the DAP client were improved/fixed. f4d41a4.
Dialect conversion is now supported in MLIR Python bindings. f992f97.
MLIR’s XeGPU dialect gained a transform for layout conflict handling and a XeGPUSgToWiDistributeExperimental pass. cd4c9d2, d9c65f9.
OpenMP’s build manual was reworked. dd76d33.
Error handling documentation was added to orc-rt. 90bece3.