LLVM Weekly - #606, August 11th 2025
Welcome to the six hundred and sixth 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
Rafael Andres Herrera Guaitero wrote on the LLVM blog about CARTS: Enabling Event-Driven Task and Data Block Compilation for Distributed HPC.
The next Portland area LLVM social will take place on August 14th.
According to the LLVM Calendar in the coming week there will be the following:
- Office hours with the following hosts: Aaron Ballman, Alexey Bader, Kristof Beyls, Johannes Doerfert.
- Online sync-ups on the following topics: MLIR C/C++ frontend working group, ClangIR upstreaming, alias analysis, pointer authentication, 64-bit source locations, OpenMP, Flang, BOLT, RISC-V, embedded toolchains, HLSL.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Kelly Kaoudis proposed (along with a number of colleagues) the addition of a Clang “constant-time selection” builtin for use by cryptographers. Respondents so far are concerned that to provide the necessary guarantees a new type would need to be introduced, e.g. a “constant-time value”.
Mircea Trofin provided an update on profile information propagation unit testing.
James Henderson is seeking feedback on the acceptability of support C++/CLI in clang-format (referring to Microsoft’s C++ language extension). There are no concerns so far.
Meeting notes from the MLIR Tensor Compiler Design Group were shared.
I don’t currently consistently link to all of the growing number of meeting notes threads from different LLVM sub groups. I wondered if it would make sense to consistently use a certain tag for such posts so that in LLVM Weekly I can either link to that tag, or use it as an aid to generate a listing of groups that shared new meeting notes in the last week.
Luke Hutton started an MLIR RFC thread on target-dependent optimisation in TOSA.
Benson Chu is seeking feedback on an RFC to introduce compiler support for “skip fault mitigation”.
Dmitry Sidorov posted an RFC on representing float8 in LLVM IR motivated by SPIR-V recently adding support for the E5M2 and E4M3 formats.
The next MLIR open meeting will discuss MLIR properties.
Matthias Springer provided an update that the new MLIR one-shot dialect conversion driver is up for review and summarised the API changes.
Aiden Grossman proposed removing support for %T from llvm-lit.
Peter Collingbourne posted an RFC on supporting pointer field protection in libc++.
“eeochoalo” would like to change byte-alignment to bit-alignment for the MLIR memref and vector dialects.
Jaden Angella posted an MLIR RFC on adding EmitC support for MLGO, to generate C++ from TOSA.
LLVM commits
Tail folding is now enabled by default for RISC-V vector code generation. 7074471.
The
ptrtoaddr
instruction was introduced. Unlikeptrtoint
, it doesn’t capture provenance and it only extracts the low index-width bits of the pointer (with the latter difference only making a difference on architectures like CHERI). 3a4b351.spirv-sim was removed. It was intended to be a tool to help with spirv-testing, but had been made obsolete now end-to-end testing is in place via the ofload-test-suite project. d64371b.
Finer grained control for the sinking of compares is now possible through the
hasMultipleConditionRegisters
hook. 94d374a.LLVM can now be built with
-fvisibility=hidden
on GCC on Linux. 8c9feb7.Basic RISC-V mapping symbol support was implemented in llvm-objdump. 4e11f89.
The size argument was removed from lifetime intrinsics. c23b4fb.
Clang commits
clangd now has a doxygen parser. 2c4b876.
Work started on support for variable template and concept template parameters. 28ed57e.
The nested name specifier AST representation was improved, leading to measurable compile time wins. 91cdd35.
For RISC-V,
-march=unset
can be used to cancel and ignore a previous-march
value. 92a966b.