LLVM Weekly - #611, September 15th 2025

LLVM Weekly - #611, September 15th 2025

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

Welcome to the six hundred and eleventh 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 September Portland area LLVM social will take place on 18th September.

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

  • Office hours with the following hosts: Phoebe Wang, Johannes Doerfert.
  • Online sync-ups on the following topics: Flang, vectoriser improvements, modules, security response group, lifetime safety breakout group, LLVM/Offload, Clang C/C++ language working group, SPIR-V, OpenMP for flang, HLSL working group.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • LLVM’s lit test suite now uses the lit internal shell by default. 73b24d2.

  • lit --update-tests learned to update tests using diff. 6c3f18e.

  • The LSP (Language Server Protocol) support library moved into LLVM from MLIR. a3a2599.

  • SimplifyCFG will replace switch with simpler instructions in more cases than before. 89d86b6.

  • Profile guided outlining support was added to the MachineOutliner. ada9da7.

  • AArch64FrameLowering::emitPrologue was refactored as it had grown rather large. 106eb46.

  • As preparation for the ptradd migration, GEPs with multiple non-zero offsets are now split into two GEPs. a301e1a.

  • Some of the regular administrative tasks in the LLVM project were documented. c883b67.

  • CHERI capability types where added to MachineValueType. 0f13cae7.

  • The LDBG_OS() macro was added, which takes a callback function that will be called with raw_ostream. 2832717.

  • Data layout string computation was moved to TargetParser. f3efbce.

Clang commits

  • Atomic compare-and-swap is now supported in ClangIR. 990fe80.

  • Clang’s Thread Safety Analysis gained a basic alias analysis for capabilities. b4c98fc.

  • Clang’s lifetime safety analysis was extended to support C++ types annotated with gsl::Pointer. 94213a4.

Other project commits

  • The rationale for the MLIR IRDL dialect was documented. a401f46.

  • BOLT’s previously x86-only pass for inlining memcpy was extended to support AArch64. 244588b.

  • Scudeo grew the beginnings of a tracing framework. 7628abd.

  • Tiling was enabled for Flang’s OpenMP. d452e67.

  • libcxx now has a new compare-benchmarks script which can be used for printing a summary comparison of any LNT-compatible data. a6af641.

  • The build of OpenMP device runtimes is now handled much like libc, libc++, compiler-rt etc. be6f110.