LLVM Weekly - #596, June 2nd 2025
If you prefer, you can read the canonical version of this issue at https://llvmweekly.org/issue/596.
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.enablemetadata 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 PTRADDSelectionDAG 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-remarkutilnow 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-testwas 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. 
- 
SpirvTypeandSpirvOpaqueTypewere 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 mallocimplementation was implemented in LLVM’s libc for GPU. b4bc8c6.
- 
Flang started added noaliasto 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-depthoption for LLDB’stype summary addcommand can be used to specify how many layers of pointers can be dereferenced at most when matching a summary formatter of typeT. 02916a4.