LLVM Weekly - #613, September 29th 2025
Welcome to the six hundred and thirteenth 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
Erick Velez wrote on the LLVM blog about their GSoC project to improve clang-doc.
Krishna Pandey wrote on the LLVM blog about their GSoC project to add BFloat16 support to LLVM’s libc.
Min-Yih Hsu blogged about LLVM’s machine scheduler.
Proposals are invited for BOF session proposals at the 2025 LLVM Developers' Meeting Embedded Toolchains Workshop.
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, modules, libc++, lifetime safety, LLVM/Offload, Clang C/C++ language working group, SPIR-V, HLSL, memory safety, MLGO.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
LLVM 21.1.2 was released.
The discussion on LLVM’s AI policy has continued at pace. James Y Knight pointed to the policy recently adopted by Fedora as relevant work.
Ryotaro Kasuga started an RFC discussion on adding a new pass intended to replace DependenceAnalysis.
stefanp provided an update on their previous machine scheduler / instruction fusion RFC.
wdx727 gave an update on their RFC on matching and inference functionality for Propeller, noting that a PR has now been posted.
Nightly releases of the LLDB-DAP VS Code extension are now being published.
Congcong Cai posed the question of which languages should clang-tidy checks claim to support by default (currently, due to the default
isLanguageVersionSupported
behaviour a newly added check will claim to support any language clang-tidy supports).dlav-sc proposed adding software watchpoints support to LLDB.
LLVM commits
MachineIR was extended to allow save and restore points with independent sets of registers. 1132e82.
The concept of non-integral and unstable pointer properties was split in DataLayout and the LangRef. dde000a.
The
SPV_KHR_bfloat16
SPIR-V extension is now supported. f91e0bf.Serialisation of bitstream remarks was altered so that the remark string table is always written to the end of the remarks file. dfbd76b.
update_llc_test_checks
should no longer fail silently to generate CHECK lines when there is an irreconcilable conflict for a subset of functions in an input file. 9d48df7.llvm.errno.tbaa
named metadata was introduced for specifying the TBAA node used for accessingerrno
. 32c6e16.llvm-remarkutil
now has afilter
subcommand which can be used to extract remarks just for a certain function/pass/type. 6e6a3d8.X86 GlobalISel support was added for
llvm.set.rounding
. 0c1087b.Benchmarks were added for LLVM’s Mustache template library implementation. 1867ca7.
Support for
%T
was removed from llvm-lit. 7ff6973.
Clang commits
Exciting news for those wanting to target AArch64 or RISC-V ports of GNU Hurd: Clang now supports the appropriate triples. 092bc04.
ClangIR upstreaming continues with support added for lambda expressions. 9b9b9c6.
__builtin_masked_{gather,scatter}
builtins were added. 2c6adc9.HLSL now supports the matrix type. 6ac40aa.
Implementation has started for constexpr structured bindings. 83331cc.
As part of the lifetime safety work,
lifetimebound
attribute support was added. 0e17fcf.clang-tidy gained a
readability-redundant-parentheses
check. 85aeb6a.
Other project commits
A number of additional improvements were made to the libcxx benchmark comparison and visualisation scripts, such as the ability to find outliers or to compare more than two benchmarks. 42bb5a5, d636dc8, 72c512f.
A source of
n^2
complexity in BOLT was removed, reducing the runtime for optimisingrustc_driver.so
from 15 minutes to 7 minutes. 9469ea2.Flang now supports
-gsplit-dwarf
. 96675a4.MLIR gained a transform to “bubble down” memory-space cast operations, to allow consumer operations to use the original memory-space rather htan first casting to a different one. 077a796.
A
ptr.ptr_diff
operation was added to MLIR. e3aa00e.