LLVM Weekly - #607, August 18th 2025
Welcome to the six hundred and seventh 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 2025-08 WG21 C++ mailing has been posted.
According to the LLVM Calendar in the coming week there will be the following:
- Office hours with the following hosts: Phoebe Wang, Johannes Doerfert.
- Online sync-ups on the following topics: Flang, vectorizer improvements, modules, lifetime safety breaktout group, LLVM/Offload, Clang C/C++ language working group, SPIR-V, OpenMP for Flang, HLSL.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Renato Golin noted that the draft document on LLVM maintainer policy has been updated after feedback.
Tobias Hieta asked for and received on advice for reducing executable size of a heavily optimised program.
Kshitij Jain is surveying people on their opinions on how TableGen could be better utilised in MLIR.
Slides and a recording from the MLIR open meeting on properties design are now available.
Owen Anderson posted an RFC on adding a riscv32 subarchitecture for CHERIoT. Discussion is currently focused on whether adding a subarchitecture is necessary/best vs e.g. relying on selection via
-march
flags and/or the target OS in the triple.Trevor Gross is seeking feedback on the idea of adding matrix-style preprocessing to lit to reuse tests across backends.
LLVM 21.1.0-rc3 was released. This is intended to be the last release candidate in the 21.x series.
There are quite a few meetings / special interest groups within LLVM now, some of them taking notes or minutes and posting them to Discourse. I don’t tend to collect these right now in LLVM Weekly, but made a post to suggest such posts be given a meeting-minutes tag so they can be easily found. Respondents so far seem to be supportive.
Sergey Shcherbinin started an RFC thread on extending the
ExtBinary
sample profile format withTypifiedProfileSection
to support attahcing multiple typed profile payloads to each functions.David Spickett kicked off a discussion about removing the PDB plugin from LLDB build using Microsoft’s DIA SDK.
Alex Bradbury wrote a quick note sharing some numbers on the impact on dynamic instruction count of SPEC 2017 benchmarks on RISC-V for
-ffp-contract=fast
(matching GCC) vs LLVM’s default.
LLVM commits
An initial Content Addressable Storage (CAS) library was added to LLVM. dda996b.
Backend calling convention lowering implementations can now access the original IR type. e92b7e9, 498ef36.
Multiple save/restore points can now be represented in MachineIR. bbde6be.
The documentation on cross-compiling builtins for Arm was further updated. dc41571.
Codegen for most significant bit extraction was improved for RISC-V. 18782db.
MC level support was added for more instructions from the proposed RISC-V P (packed SIMD) extension. e2eaea4.
The output of the debugify coverage tracking was slimmed down by adding a mechanism to handle cases where single errors end up being reported many times after being propagated to other instructions in later passes. bc216b0.
Clang commits
By default, clang-tidy no longer attempts to analyse code form system headers. This improves performance significantly. bd77e9a.
__builtin_elementwise_{fshl,fshr}
was added. c3bf73b.ClangIR gained initial support for atomic types. 331a5db.
The newly introduced
cfi_salt
attribute can be used to specify a ‘salt’ for control-flow integrity (CFI) checks to distinguish between functions with the same type signature. aa4805a.The list documenting the C features backported to previous C standards was made more accurate. ed6d505.
Other project commits
A skeleton of an importer for Wasm binaries was started in MLIR. 6bb8f6f.
The Dexter debug experience tester now has Debug Adapter Protocol (DAP) compatibility. d934554.
f[no]-open-simd
was added to Flang to enable OpenMP support only for SIMD onstructs. d3d96e2.LLVM libc’s GPU benchmarking infrastructure was improved. 08ff017, cf5f311.
LLDB learned to parse the Wasm symbol table. 5be2063.
A new MLIR pass was added for vector to AMX conversion. 7d1b9ca.
The XeVM target and XeVM dialect integration tests were added to MLIR. baae949.