LLVM Weekly - #615, October 13th 2025
Welcome to the six hundred and fifteenth 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
A final call has gone out for registration for the 2025 US LLVM Developers' Meeting, nothing the event is nearly full. Additionally, the agenda has been announced for the LLVM hearts ML workshop.
Videos from the GNU tools cauldron 2025 have now been published (also available on YouTube.
The next LLVM meetup in Munich will take place on October 28th. Note the requirements for pre-registration and bringing an ID card in order to access the building where it is held.
According to the LLVM Calendar in the coming week there will be the following:
- Office hours with the following hosts: Aaron Ballman, Alexey Bader, Alina Sbirlea, Phoebe Wang, Johannes Doerfert.
- Online sync-ups on the following topics: Flang, alias analysis, modules, lifetime safety, 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
Aaron Ballman suggested Clang explicitly document a guarantee that type punning through a union is allowed in C++, as it is often used in real code, matches what Clang does today, and GCC documents such a guarantee.
If you have any feedback or feature requests for MLIR’s remark infrastructure, Guray Ozen would love to hear from you.
Florian Mayer started an RFC discussion on adding a
__builtin_static_analysis_assumeattribute builtin, whihc could be used to communicate information to static analysis tools such as clang-tidy checks.Gergely Bálint posted an RFC on adding support to BOLT for optimising BTI binaries (that is, binaries using Arm’s Branch Target Identification feature for control flow integrity).
LLVM 21.1.3 was released.
Dharuni R Acharya proposed adding support for pretty printing immediate arguments in LLVM intrinsics, which would add a comment with a description for integer immediates.
LLVM commits
The
sanitize_alloc_tokenattribute andalloc_tokenmetadata was added, alongside the AllocToken instrumentation pass. This is part of work to enable allocator partitioning hints for use by hardened allocators. 224873d, c7274fc.The LLVM and SPIRV backend part of the HLSL working group typed buffer counters proposal was implemented. 5547c0c.
LLVM’s
OptTablecommand line option handling now supports subcommands. fdbd17d.llvm-reducegained a new reduction pass to inline call sites. ff394cd.LLVMGetOrInsertFunctionwas added to LLVM’s C API. 01f4510.clang-offload-packager was renamed to llvm-offload-binary and moved into the llvm/ subdirectory. 2499fe1.
The layout of the
.callgraphsection containing metadata on the function call graph was documented. 6fb87b2.
Clang commits
Initial array new expression support was added to ClangIR, as well as dynamic cast. 09f0f38, 4e53067.
A liveness-based lifetime policy was implemented as part of the lifetime safety work. 6bbd7ea.
-fsanitize=alloc-tokenis now supported. 774ffe5.wasm32-linux-muslwabican now be targeted. 7e7c923.
Other project commits
BOLT gained now passes to enable optimisation of AArch64 binaries with pac-ret hardening. 32eaf5b.
A Nix recipe for collecting linker reproducers for benchmarking purposes was added to the lld subdirectory. 74858f3.
After a period of deprecation, vector.splat was removed from the MLIR vector dialect (vector.broadcast should be used instead). ea291d0.
MLIR now supports Python-defined rewrite patterns. 7aec3f2.
A memory allocation backend for use with ORC was added to orc-rt. 891f002.