LLVM Weekly - #600, June 30th 2025
Welcome to the six hundredth 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.
600 issues is another big milestone (still without missing a week) - thank you for reading!
News and articles from around the web and events
As a reminder, the first Bristol LLVM/MLIR meetup will take place on 2nd July.
According to the LLVM Calendar in the coming week there will be the following:
- Office hours with the following hosts: Johannes Doerfert, Quentin Colombet, Renato Golin.
- Online sync-ups on the following topics: ClangIR, pointer authentication, LLVM libc, OpenMP, Clang C/C++ language working group, Flang, RISC-V, HLSL, MLGO.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Tobias Hieta provided the branch date for LLVM 21.x (15th July).
Yaxun (Sam) Liu wrote an RFC proposal on adding GNU make jobserver support to LLVM, which raised a number of questions about things like current jobserver protocol support in Ninja.
Alex Zinenko has re-summarised the vcix dialect removal discussion (especially taking into account how the discussion has branched into other topics).
A new report on Flang progress as presented to “J3” is now available.
Fangrui Song raised the prospect of deleting the Lanai target, though respondents so far suggest it may be “feature complete” as opposed to “abandoned”.
Nikita Popov gave some updated numbers on the slowdown for check-llvm and check-clang with dynamic libraries.
A GSoC mid-term conference will take place on July 15th.
Initial meetings have been scheduled for the newly formed LLVM Qualification Group.
Recordings are now available from the MLIR open meeting on the WebAssembly dialect and the MLIR open meeting on rank-0 vectors.
LLVM commits
The number of dynamic relocations in libLLVM.so was drastically reduced by using
llvm::StringTable
to convert various string pointers in the MC layer to using 32-bit offsets into a character array. bb72424.Support was added for the Windows Secure Hot-Patching feature, allowing LLVM to generate code changes and CodeView symbols to allow hot-patching applications (i.e. apply changes without restarting). 0a3c5c4.
Initial support was implemented for the Xtensa floating point instruction set (‘option’). 4154ada.
The RISC-V SiFive 7-series scheduling model was refactored in order to maximise reuse with the upcoming X390 model. 7a33569, f40909f.
A scheduling model was added for the Intel Lunar Lake P-core, generated by schedtool. 2b93876.
A limited version of the WebAssembly stackification pass is now run even for O0 builds. This reduces the use of locals, which for some programs can be so great that it hits engine limitations. cd46354.
Recently agreed changes to the LLVM release process were committed to the documentation. 31545ca.
The ILP32D calling convention was implemented for LoongArch. 4bb5e48.
RuntimeLibcalls.def was replaced with a tablegen-erated version. 3fdf46a, b88e1f6.
The newly created LLVM Qualification Group was documented 2b48ce7.
Clang commits
The documentation on debugging C++ coroutines was revamped. b8f1228.
ClangIR now supports function linkage and visibility and basic support for operator new, among many other changes. 1e45ea1, 74cabdb.
clang-nvlink-wrapper gained support for passing on optimization record options. e80acd4.
libclang gained new bindings to query information about GCC-style inline assembly blocks. d76fdf7.
Out-of-process execution is now supported for clang-repl. 3f53155.
__builtin_invoke
was added and is used in libc++. 7138397.A
modernize-use-scoped-lock
check was added to clang-tidy. a3a60e0.