LLVM Weekly - #621, November 24th 2025
Welcome to the six hundred and twenty-first 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
Abdullah Amin wrote on the LLVM project blog about their GSoC project to extend LLDB with a rich disassembler.
As a reminder, the call for proposals for the FOSDEM 2026 LLVM dev room closes on November 30th.
Recordings from the 2025 US LLVM Developer’s Meeting have started to appear on YouTube. They’re not collected in a playlist yet, but for now just see the LLVM video list.
According to the LLVM Calendar in the coming week there will be the following (though note it’s thanksgiving in the US this week so it’s possible some of the meetings towards the end of the week get cancelled).
- Office hours with the following hosts: Kristof Beyls, Johannes Doerfert, Amara Emerson.
- Online sync-ups on the following topics: Flang, modules, libc++, lifetime safety, LLVM/Offload, SPIR-V, OpenMP for flang, HLSL, memory safety.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Tanya Lattner is seeking volunteers for the EuroLLVM Developers Meeting Program Committee.
Malavika Samak posted an RFC on integrating the clang-tidy checkers into Clang Static Analyzer (CSA), allowing clang-tidy and checks and CSA to be run in a single analysis pass.
David Stone kicked off an RFC discussion on raising the minimum compiler requirements for building LLVM to one that supports (much of) C++20. The thread has multiple tables indicating compiler versions packaged for different OSes etc. One of the areas of concern was around which versions of Clang/GCC support a sufficiently large subset of C++20 without blocking bugs. Another area was the impact on compile times.
There was some discussion on where working group meeting materials should go, e.g. an existing repo, new repos, etc.
Ben Stott would like to support type entries in the TypeSanitizer ignore list.
LLVM 21.1.6 was released.
The Clang area team are proposing to grow the team size to 5 in 2026. “We think the Clang area team would benefit from having more folks to take on action items, read RFCs in detail, do more follow-up, and do more to shepherd RFCs along. There were many talented, qualified candidates last year, and we’d like to rotate new folks onto the area team to have fresh faces, get more folks engaged, diversify the domain expertise on the area team, and empower more people to get stuff done.”
Round table notes were shared on lifetimes, C++ interoperability, “operational maturity”, and annotations for C++ interoperability. Additionally, new LLVM project council meeting notes discuss SFrame support and requiring pull requests for all llvm-project commits.
- Amin Safavi wrote on the forum to showcase the
eigen_tidy_pluginwhich aims to catch common pitfalls when using the Eigan C++ template library for linear algebra.
- Amin Safavi wrote on the forum to showcase the
Marcell Leleszi and Muhammad Bassiouni are seeking feedback on their proposal for a wctype header implementation in LLVM libc.
Alex Susu started an RFC discussion on upstreaming a backend for the Connex vector accelerator.
Rahul Joshi suggested we support named address spaces rather than simply numbered spaces.
The Clang working group are proposing to set up a dedicated meeting for C++26 reflection in Clang. Fill in your availability if you’re interested.
LLVM commits
A distributed thin LTO cache was implemented. 3ee54a6b.
Tablegen infrastructure was added to support pretty printing arguments in LLVM intrinsics, for instance printing a human readable name alongside the argument. 39e7712.
The X86 profile guided prefetch passes were removed as they are no longer being developed. Prefetch related efforts are focused on opst-link optimisers. 1425d75.
LLVM’s assembly parser now supports the
.base64directive which GCC has started to use as of GCC 15. 6245a4f.VPlan can how hoist loads out of the vector loop to the preheader when scoped noalias metadata proves they cannot alias with any other stores in the loop. 7c34848.
Carry-less multiply primitives were added to APInt. 727ee7e.
llvm-dwp can now emit string tables over 4GB without losing data. ac6e48d.
TableGen was updated so a target can “steal” the definition of a generic pseudoinstruction and remap the operands. bfb9539.
The TargetLibraryInfo data was moved to TableGen. c9f5734.
lit now sets a
LIT_CURRENT_TESTCASEenvironment variable. 3f6cbde.A RISC-V Zilsd load/store pair optimisation pass was implemented. 645e0dc.
An
llvm.dbg.declare_valueintrinsic was added, motivated by Swift async code. 20ebc7e.
Clang commits
Clang can now produce a crash reproducer shell script for IR inputs as well. 83d27f6c.
The
malloc_spanattribute was introduced, which can be applied to functions returning span-like structures. eb65517.Clang’s lifetime analysis can now detect use after return. 5343dd9.
Other project commits
Address sanitizer support was added for AIX. c62fc06.
Arm optimized implementations for mulsf3 and divsf3 were implemented in compiler-rt. 5efce73.
Flang now parses OpenMP loop nests as a whole rather than in a piece-wise manner. c2d659b.
LLVM’s libc now has a float-only implementation for atanf. aa3f930.
LLDB’s codebase was prepared for supporting integer registers wider than 64 bits. 1fb8e3d.
A pass to narrow i64 TOSA operations to i32 was added to MLIR. c61c5d2.
New debug macros were added to LLVM/Offload. 66ddc9b.
ORC runtime design documentation was committed. de9c182.