LLVM Weekly - #610, September 8th 2025

LLVM Weekly - #610, September 8th 2025

If you prefer, you can read the canonical version of this issue at https://llvmweekly.org/issue/610.

Welcome to the six hundred and tenth 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 call for proposals is open for the workshop on supporting memory safety in LLVM, taking place just before the US LLVM Developers’ Meeting.

Pedro Lobo wrote on the LLVM blog about their GSoC project to add a byte type to LLVM IR.

Fangrui Song blogged about changes in the LLD 21 release.

The next LLVM meetup in Berlin will take place on 18th September, featuring Morris Hafner presenting his work on upstreaming ClangIR.

The next compilers social in Cambridge UK will take place this Friday 12th September as a full day “MLIR (Un)School Meets UK Compiler Community” event.

According to the LLVM Calendar in the coming week there will be the following:

  • Office hours with the following hosts: Alexey Bader, Alina Sbirlea, Kristof Beyls, Johannes Doerfert.
  • Online sync-ups on the following topics: MLIR C/C++ frontend working group, ClangIR upstreaming, alias analysis, pointer authentication, OpenMP, Flang, RISC-V, embedded toolchains, HLSL.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • A new doc was started on debugging LLVM. 82978df.

  • The HashRecognize analysis is now used by LoopIdiomRecognize to optimize CRC. c5da190.

  • The LDBG macro was documented in the programmer manual. 5f41241.

  • mmra metadata was documented. e34d2e1.

  • A VPlan-level common subexpression elimination pass was implemented. d8fd511.

  • InstCombine learned to merge constant offsets getlementptrs (geps) across variable geps. 349523e.

  • LLVM_ENABLE_STRICT_FIXED_SIZE_VECTORS was removed. cd7f7cf.

  • Codegen and intrinsics for the proposed RISC-V Zvqdotq “vector quad widening 4D dot product” extension was implemented. 7fb1dc0.

  • An OPC_Scope opcode was added to the DecoderEmitter, resulting in an average reduction in decoder tables of 1.1% (up to 7% in some cases). 3250349.

Clang commits

  • __builtin_*_synthesises_from_spaceship where added, which makes it possible to do some optimisations by using <=> (spaceship) rather than doing multiple comparisons. b1a8089.

  • Support was added for C2y’s “named loops” feature. e4a1b5f.

  • The alpha.core.CastSize static analyzer checker was removed. 9086590.

  • As usual there was more forward progress on ClangIR. e.g. adding support for constant record initializer list expressions. 1dbe65a.

  • clang-reorder-fields now supports designated initializers. 4d9578b.

Other project commits

  • Load and store operations were implemented for MLIR’s ptr dialect, and core ptr ops now have a conversion to LLVM IR implemented. 77f2560, d15998f.

  • LLVM’s libc now provides a strlen implementation, implemented using a new simd.h helper header. eb7b162.

  • SPEC can now be run as part of libc++'s own benchmarks. a40930b.

  • lldb-dap learned the --no-lldbinit flag to skip sources .lldbinit. db3054a.

  • MLIR’s SPIR-V dialect gained support for the SPV_ARM_graph extension. cf3a887.