LLVM Weekly - #599, June 23rd 2025

LLVM Weekly - #599, June 23rd 2025

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

Welcome to the five hundred and ninety-ninth 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

Applications for student travel grants to attend the 2025 US LLVM Developers’ Meeting are now open.

Herb Sutter posted a trip report from the June 2025 ISO C++ standards meeting. The big news was compile-time reflection being voted in to the C++26 draft.

Alex Gaynor blogged about how work on seralising DER in Rust led to spotting a missed optimisation and landing a patch for it in LLVM.

The next LLVM Bay Area Monthly Meetup is taking place today, June 23rd at 6pm.

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

  • Office hours with the following hosts: Kristof Beyls, Johannes Doerfert, Amara Emerson, Aaron Ballman.
  • Online sync-ups on the following topics: Flang, modules, SPIR-V, MLIR open meeting (on WebAssembly dialect proposal), OpenMP for Flang, memory safety working group.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • The InstCombine contributor guide was updated with new guidelines and advice. 299a55a.

  • Further reductions were achieved in the size of the generated Disassembler .so files. 816ab1a.

  • The Xtensa Interrupt/Exception/Debug options were implemented. c21a4c6.

  • The RISC-V backend now supports non-power-of-2 types when expanding memcmp. ca29c63.

  • A scheduling model was added for the Cortex-A320. 6265ca6.

  • Loop Invariant Code Motion (LICM) learned to hoist ‘writeonly’ calls. 1ab0e7d.

  • HLSL descriptor table metadata parsing was implemented. b5d5708.

Clang commits

  • A cppcoreguidelines-use-num-class clang-tidy check was implemented. 669627d.

  • clang-doc gained support for documenting C++ concepts. 8050a6e.

  • The new readability-use-numeric-limits clang-tidy check will look for integer literals that correspond to particular numeric limits (e.g. 32767) and replace with the numeric limit (std::numeric_limits<int16_t>::max() in this example). e7dd223.

  • Support for -fveclib=libmvec was added for AArch64 targets. c377ce1.

  • Support was added for the managarm microkernel OS target. e86740e.

Other project commits

  • Model Context Protocol (MCP) server support was added to LLDB. For now, it just supports one tool - lldb_command. 9524bfb.

  • libcxx std::list and std::flat_map were made constexpr. 13510c0, 831fcb5.

  • BOLT’s gadget scanner can now detect “authentication oracles”. 2b4d757.

  • mbrtowc was implemented in LLVM’s libc. d078ce7.

  • views::join_with was implemented in libcxx. 1bb2328.

  • LLD’s ELF linker gained an optimisation for branch-to-branch (e.g. when code calls a function that immediately tail calls another function). 491b82a.

  • MLIR’s LLVM conversion patterns can now optionally take a SymbolTableCollection to speed up the lookup of symbols. bb37296.

1 Like