LLVM Weekly - #609, September 1st 2025
Welcome to the six hundred and 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
LLVM 21.1.0 has now been released. Congratulations and thank you to all contributors!
The early bird registration deadline for the 2025 US LLVM Developers' Meeting ends on September 5th.
Blog posts from LLVM’s GSoC have started to be published, Leandro Augusto Lacerda Campos writing about profiling and testing math functions on GPUs.
The next LLVM Meetup in Darmstadt will take place on the 24th of September.
Andrew Pinski has started posting weekly GNU toolchain developments on Mastodon at @gnutoolsweekly@hachyderm.io. See week 1 here.
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, LLVM qualification, modules, libc++, lifetime safety, LLVM/Offload, Clang C/C++ language working group, OpenMP for Flang, HLSL, memory safety, MLGO.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Mehdi Amini advertises that MLIR pattern search is now live.
Jim Ingham proposes
breakpoint add
as a redesign of LLVM’s breakpoint setting command interface.Mehdi Amini started a discussion on supporting newer C++ standards in the LLVM codebase, seeking to clarify that patches that allow building LLVM with more recent versions of the C++ standard than the minimum supported version are welcome.
Wendi Urribarri asks the wider LLVM community for views on use of AI transcripts in LLVM working group meetings. Some respondents have concerns that direct transcription of all comments may hurt communication by making people be overly cautious about what they say.
Alexander Richardson returned to an old thread to suggest AlignConsecutiveShortCaseStatements and AllowShortCaseLabelsOnASingleLine might be useful for LLVM’s
.clang-format
.Tobias Hieta gave an update on his thread regarding reducing executable size, summarising what they ended up doing.
John Regehr shared that the paper “Translation Validation for LLVM’s AArch64 Backend” is now available.
Prabhu Rajasekaran posted an RFC on subcommand feature support in LLVM OptTable (command line parsing).
David Spickett posted a PSA that Linux buildbots testing compiler-rt will in the future need the Python ‘packaging’ module.
Michael Adams' lecture slides on learning to use the Clang libraries have been updated to Clang/LLVM 21.
Gabriel Ford started an RFC thread on upstreaming Zig language support to LLDB.
LLVM commits
TableGen will now emit a
getOperandIdxName
function, which is the inverse ofgetNamedOperandIdx
returning the OpName for the given operand index of an opcode. 2d5a3c8.llvm-readobj
gained support for--coff-pseudoreloc
, which will dump runtime pseudo-relocation records. faf6ba4.MC layer support was added for the experimental RISC-V Zvfbfa extension (additional BF16 vector compute support). 717771e.
Targets can now custom expand atomic load/stores. 8b9b0fd.
For Windows,
llvm-lit.cmd
is is now generated so thatllvm-lit
can be used as a direct executable without external wrappers or modifications to buildbot scripts. f875a73.After being deprecated for eight years(!), the
LLVM_ENABLE_IR_PGO
CMake option was removed. b1c8228.
Clang commits
Infrastructure was added to allow more detailed “trap reasons” for UBSan. This allows messages like
Undefined Behavior Sanitizer: signed integer addition overflow in 'a + b'
rather than the less specificUndefined Behavior Sanitizer: Integer addition overflowed
. f1ee047.Clang now throws a frontend error when a function marked with the
flatten
attribute calls another function that requires target features not enabled in the caller. c6bcc74.The
-Walloc-size
warning was implemented, which will flag calls to functions decorated with thealloc_size
attribute that don’t allocate enough space for the target pointer type. 6dc188d.RISC-V vector builtins code generation was refactored to reduce compile time (as reported in the commit message, from 1m5s to 23s on the tested system). 9db7e8d.
-gkey-instructions
was enabled by default if optimisations are enabled, intended to improve the debug-stepping experience for optimised code. 9d65f77.ClangIR upstreaming continues with advancements such as support for virtual base classes. e7c9f2d.
clang-tidy gained a
cppcoreguidelines-pro-bounds-avoid-unchecked-container-access
check which will find calls tooperator[]
in STL containers and suggest replacing them with safe alternatives. bc278d0.
Other project commits
The LLD MachO linker now has the ability to preload input files into memory, resulting in meaningful improvements in linking times for large inputs. 2b24287.
Loop interchange was disabled in flang by default, matching Clang. 8849750.
All of Flang’s lit tests now work with lit’s internal shell, which is now used by default. 3e17864, 794f82e.
LLVM’s JSONTransport is now used to implement the LLDB MCP server. Also lldb-mcp was added to act as a proxy between the LLM and one or more LLDB instances. 1ba8b36, aa71d95.
The
workdistribute
construct was added to MLIR’s OpenMP dialect. 7681855.A README was added for the LLVM Offload GPU math conformance test suite. 9c410dd3.