LLVM Weekly - #596, June 2nd 2025
Welcome to the five hundred and ninety-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
Alex Denisov has authored the missing guide to dataflow analysis in MLIR.
If you’re interested in how RISC-V vector code generation has been developing in LLVM over the past couple of releases, I’ve written the talk I gave recently at RISC-V Summit Europe as a blog post.
According to the LLVM Calendar in the coming week there will be the following:
- Office hours with the following hosts: Johannes Doerfert, Renato Golin.
- Online sync-ups on the following topics: ClangIR upstreaming, pointer authentication, GSoC office hours, OpenMP, C/C++ language working group, Flang, RISC-V, libc, HLSL, MLGO.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
There was quite a bit more discussion on the RFC on potentially changing LLVM’s release process.
Aaron Ballman proposed removing support for delayed typo correction in Clang as the feature has no maintainer and a number of bugs with no path to being fixed.
Slava Zakharin proposed adding
llvm.loop.vectorize.reassociation.enable
metadata which would allow unsafe reassociations during loop vectorisation.Elvis Wang would like to introduce a new VPlan transform that conditionally executes vector basic blocks based on mask activity.
LLVM 20.1.6 was released.
Abhikrant Sharma posted an MLIR RFC on supporting requantisation in the quant dialect.
John Harrison discussed adding typing annotations to LLDB’s python code.
If you have a workshop proposal for just before the next US LLVM Developers Meeting you have until June 6th to submit it.
Alexis Engelke shared results from ‘TPDE’ which aims to provide baseline compilation much faster than FastISel. See the paper and GitHub repo for more information.
LLVM commits
The
PTRADD
SelectionDAG node was introduced. 8adcc8a.llvm.vector.[de]interleave{4,6,8}
intrinsics were added. 3033f20.The automated message for good-first-issue labeled issue was updated not to suggest requesting assignment. 50937eb.
Support for the MemProf summary section was added. cc6f446.
llvm-remarkutil
now has a tool to print a histogram of instruction frequencies, optionally filtered by function name via a regex. cb647ec.A flag was added to control call folding in the ConstantFolding pass. 1f7885c.
--max-retries-per-test
was added tolit
, which will retry running failed tests up to the given number of times. 84fd907.
Clang commits
Clang’s ThreadSafetyAnalysis now supports reentrant capabilities. c7ccfc6.
SpirvType
andSpirvOpaqueType
were added to HLSL. 5a45711.Clang’s debuginfo was updated to emit a symbol for the debugger that points for the vtable address for the given class. This allows a debugger to associate classes with the physical location of their vtables using only the DWARF information. d1b0cbf.
The clang-doc tool was updated with a command line option to enable the Mustache template backend. 79023db.
Other project commits
A device-side
malloc
implementation was implemented in LLVM’s libc for GPU. b4bc8c6.Flang started added
noalias
to function arguments but was backed out for now as it leads to a performance regression due to function specialisation no longer kicking in. d16ecad.The new
--pointer-match-depth
option for LLDB’stype summary add
command can be used to specify how many layers of pointers can be dereferenced at most when matching a summary formatter of typeT
. 02916a4.