LLVM Weekly - #613, September 29th 2025

LLVM Weekly - #613, September 29th 2025

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

Welcome to the six hundred and thirteenth 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

Erick Velez wrote on the LLVM blog about their GSoC project to improve clang-doc.

Krishna Pandey wrote on the LLVM blog about their GSoC project to add BFloat16 support to LLVM’s libc.

Min-Yih Hsu blogged about LLVM’s machine scheduler.

Proposals are invited for BOF session proposals at the 2025 LLVM Developers’ Meeting Embedded Toolchains Workshop.

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, modules, libc++, lifetime safety, LLVM/Offload, Clang C/C++ language working group, SPIR-V, HLSL, memory safety, MLGO.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • MachineIR was extended to allow save and restore points with independent sets of registers. 1132e82.

  • The concept of non-integral and unstable pointer properties was split in DataLayout and the LangRef. dde000a.

  • The SPV_KHR_bfloat16 SPIR-V extension is now supported. f91e0bf.

  • Serialisation of bitstream remarks was altered so that the remark string table is always written to the end of the remarks file. dfbd76b.

  • update_llc_test_checks should no longer fail silently to generate CHECK lines when there is an irreconcilable conflict for a subset of functions in an input file. 9d48df7.

  • llvm.errno.tbaa named metadata was introduced for specifying the TBAA node used for accessing errno. 32c6e16.

  • llvm-remarkutil now has a filter subcommand which can be used to extract remarks just for a certain function/pass/type. 6e6a3d8.

  • X86 GlobalISel support was added for llvm.set.rounding. 0c1087b.

  • Benchmarks were added for LLVM’s Mustache template library implementation. 1867ca7.

  • Support for %T was removed from llvm-lit. 7ff6973.

Clang commits

  • Exciting news for those wanting to target AArch64 or RISC-V ports of GNU Hurd: Clang now supports the appropriate triples. 092bc04.

  • ClangIR upstreaming continues with support added for lambda expressions. 9b9b9c6.

  • __builtin_masked_{gather,scatter} builtins were added. 2c6adc9.

  • HLSL now supports the matrix type. 6ac40aa.

  • Implementation has started for constexpr structured bindings. 83331cc.

  • As part of the lifetime safety work, lifetimebound attribute support was added. 0e17fcf.

  • clang-tidy gained a readability-redundant-parentheses check. 85aeb6a.

Other project commits

  • A number of additional improvements were made to the libcxx benchmark comparison and visualisation scripts, such as the ability to find outliers or to compare more than two benchmarks. 42bb5a5, d636dc8, 72c512f.

  • A source of n^2 complexity in BOLT was removed, reducing the runtime for optimising rustc_driver.so from 15 minutes to 7 minutes. 9469ea2.

  • Flang now supports -gsplit-dwarf. 96675a4.

  • MLIR gained a transform to “bubble down” memory-space cast operations, to allow consumer operations to use the original memory-space rather htan first casting to a different one. 077a796.

  • A ptr.ptr_diff operation was added to MLIR. e3aa00e.