LLVM Weekly - #640, April 6th 2026
Welcome to the six hundred and fortieth 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 April Portland LLVM social will take place on April 26th.
According to the LLVM Calendar in the coming week there will be the following:
- Office hours with the following hosts: Kristof Beyls, Johannes Doerfert.
- Online sync-ups on the following topics: pointer authentication, OpenMP, Flang, SPIR-V, BOLT, RISC-V, LLVM libc, HLSL, LLVM qualification, LLVM libc math.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Alex Zinenko, on behalf of the Project Council and following some discussions in that council, invited thoughts on the role of a maintainer.
Jakub Kuderski started a discussion thread on concerns about the number of AI-generated bug fixes being submitted. It’s a lengthy thread with a lot of viewpoints expressed that I feel I couldn’t do justice to summarise. But even where there are different views on the solution, there is plenty of concern about maintainer load.
“buggfg” started a discussion on the idea of ‘RVCC’ an incubator for high-performance RISC-V compiler optimisations. In general there re some concerns about producing an LLVM fork and wondering whether other methods might achieve similar results (and suggestions to discuss further through the biweekly RISC-V contributor calls, or in external groups).
Fabian Mora proposed moving the code generation backends of mlir-tblgen to a public library so downstream proejcts can reuse and extend them without forking.
Petr Hosek proposed requiring explicit dismissal of blocking reviews on GitHub.
Notes from the 1st April LLVM Project Council meeting are now available.
Caroline Newcombe notes that although Flang supports up to 15 array dimensions, perhaps it should support more to match CCE Fortran and Intel ifx.
Daniil Dudkin proposed changes to include-cleaner to make it more generally useful, specificlly in terms of supporting headers that rely on an included file (e.g. those that include .inc files or .def-style incldues).
Robert Imschweiler started a discussion about the possibility of LLVM ADTs that don’t require linking against C++ STL.
Stephen Tozer shared upcoming planned changes to the Dexter debug experience tester: inputs changing to a YAML document, output changing to a set of metrics, and the ability to generate test scripts by recording debugger output.
LLVM Foundation board minutes from March are now available.
Zhixun Tan and a long list of collaborators proposed JSIR: A high-level IR for JavaScript. Built in MLIR, it notably supports high fiedlity round-trips between source to/from AST to/from JSIR.
It was April fool’s day last Wednesday, which led to jokey proposals to rename MLIR to AIIR and rename LLVM to LLM. On the subject of April fools' jokes, I quite enjoyed the C++ backend to ocamlc.
LLVM commits
Upstreaming of the LLVM ABI lowering library continues with the introduction of
ABIFunctionInfo. 04785ad.Internal LLVM classes were changed so metadata attachments are stored directly in a vector inside an instruction. This is intended to improve performance and reduce memory usage. 282fb05, 26b755c.
@llvm.structured.allocwas introduced. It allocates uninitialised memory on the stack for a logical type such as an aggregate, an array, or a scalar. Introduced for use by e.g. DXIL/SPIR-V. 443e766.TaskGroup was updated to support nested parallelism via work-stealing. 8daaa26.
A helper script to create MCA tests in a template format was added. 55bcc05.
Clang commits
As part of the Clang Scalable Static Analysis Framework (SSAF) work, a Callgraph summary and extractor was added. d08ebbe, 803d1d6.
Texture2D::mips[][]was implemented for HLSL. 5841935.Member-pointer members lowering was implemented in ClangIR. bb55c4b.
Other project commits
Minimal liveness analysis support was added for BOLT AArch64. 64b7281.
LLVM libc’s RPC interface now compiles successfully with MSVC. 9b5c7d1.
Documentation was added to LLDB on support for AArch64 systems with SME but not SVE. bc36746.
mlir-reduce can now accept an
opt-pass-fileargument to specify the reduction passes. d08bb68.