LLVM Weekly - #657, August 3rd 2026
Welcome to the six hundred and fifty-seventh 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
The next LLVM meetup in Cologne, Germany is scheduled for August 18th.
According to the LLVM Calendar in the coming week there will be the following:
- Office hours with the following hosts: Quentin Colombet, Johannes Doerfert, Renato Golin.
- Online sync-ups on the following topics: Flang, MLIR C/C++ frontend, MemorySSA, modules, libc++, lifetime safety, LLVM/Offload, Clang C and C++ language working group, OpenMP for flang, HLSL, memory safety, MLGO, reflection.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Aiden Grossman posted an RFC on incrementally enabling the new pass manager for CodeGen, noting that some small targets like MSP430 and Lanai have been fully ported and x86 support is mature enough to bootstrap LLVM.
Luke Lau proposes adding an llvm.mask.beforefirst intrinsic that the loop vectoriser would use for generating exit masks use during early exit vectorisation. The second half of the RFC muses on when it’s worthwhile introducing a new intrinsic.
Sergey Shcherbinin would like feedback on their proposal to use cross-part common subexpression elimination to guide loop interleaving.
Shilei Tian started an RFC discussion on link-time finalisation for separately compiled AMDGPU device code. “We would like to propose an architecture for supporting scalable separate compilation of GPU device code in LLVM, with AMDGPU as the first implementation target. Separately generated device objects can contain per-function resource information. However, a kernel’s final requirements depend on the definitions selected from other device objects and the resources required by those device functions. The complete requirements therefore become known only after final object-link resolution. This RFC first describes that general finalization requirement and then proposes an AMDGPU implementation with a narrow interface between ordinary ELF linking and AMDGPU-owned resource analysis.”
Jeff Bailey proposes adopting a CMake formatter for LLVM libc.
LLVM 23.1.0-rc2 was released.
LLVM commits
The RISC-V backend learned to deduplicate frame base address materialisations for large stack frames, leading to an 18% performance improvements on SPEC CPU 2026 ‘cactus’ benchmark on the SpacemiT K3. 4120b5f.
byte type support was added to the LLVM UB-aware interpreter. 79ea87c.
TableGen now has first-class support for processor aliases. ec96f85, d53cb74.
Documentation was added for self-hosted runners on GitHub. 0fa9cfa.
The Furo theme is now used for LLVM documentation. You can see it in action here. c44443f.
MC-layer and codegen support was added for the experimental RISC-V Zilx (indexed integer load instructions) extension. 23a2224, 8a1ff7f.
A new tool,
llvm-calc-occupancywas added for reporting the occupancy an AMDGPU kernel would reach for a given workgroup size as well as other statistics. b11722f.The IR Outliner was removed as it has known major bugs and no active maintainer. 1cf3b70d.
Clang commits
clang-format’s
SortIncludesoption now has a ‘Natural’ options which compares runs of digits as numbers rather than sequences of characters. 82c7b9a.ClangIR’s CallConvLowering learned to lower indirect calls. b979a11.
A new
SpacesInCommentsoption was added to clang-format to control space after/before/*and*/in block comments. cc0f33b.git-clang-format --whole-filewill format the whole file instead of only modified lines. e89830d.
Other project commits
The LLDB documentation on adding target support now also gives information about hardware features that can help or hinder porting. 3031d2d.
libc-backed arithmetic builtins were added to compiler-rt. a13822f.
Flang gained compressed DWARF support. 8225c81d.
LLVM libc has a snazzy new logo. cdec735.
LLDB now supports Wasm globals, giving them a synthetic address space. 739bf5e.