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 addas 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 - getOperandIdxNamefunction, which is the inverse of- getNamedOperandIdxreturning the OpName for the given operand index of an opcode. 2d5a3c8.
- llvm-readobjgained 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.cmdis is now generated so that- llvm-litcan 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_PGOCMake 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 specific- Undefined Behavior Sanitizer: Integer addition overflowed. f1ee047.
- Clang now throws a frontend error when a function marked with the - flattenattribute calls another function that requires target features not enabled in the caller. c6bcc74.
- The - -Walloc-sizewarning was implemented, which will flag calls to functions decorated with the- alloc_sizeattribute 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-instructionswas 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-accesscheck which will find calls to- operator[]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 - workdistributeconstruct was added to MLIR’s OpenMP dialect. 7681855.
- A README was added for the LLVM Offload GPU math conformance test suite. 9c410dd3.