LLVM Weekly - #621, November 24th 2025

LLVM Weekly - #621, November 24th 2025

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

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

Abdullah Amin wrote on the LLVM project blog about their GSoC project to extend LLDB with a rich disassembler.

As a reminder, the call for proposals for the FOSDEM 2026 LLVM dev room closes on November 30th.

Recordings from the 2025 US LLVM Developer’s Meeting have started to appear on YouTube. They’re not collected in a playlist yet, but for now just see the LLVM video list.

According to the LLVM Calendar in the coming week there will be the following (though note it’s thanksgiving in the US this week so it’s possible some of the meetings towards the end of the week get cancelled).

  • Office hours with the following hosts: Kristof Beyls, Johannes Doerfert, Amara Emerson.
  • Online sync-ups on the following topics: Flang, modules, libc++, lifetime safety, LLVM/Offload, SPIR-V, OpenMP for flang, HLSL, memory safety.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • A distributed thin LTO cache was implemented. 3ee54a6b.

  • Tablegen infrastructure was added to support pretty printing arguments in LLVM intrinsics, for instance printing a human readable name alongside the argument. 39e7712.

  • The X86 profile guided prefetch passes were removed as they are no longer being developed. Prefetch related efforts are focused on opst-link optimisers. 1425d75.

  • LLVM’s assembly parser now supports the .base64 directive which GCC has started to use as of GCC 15. 6245a4f.

  • VPlan can how hoist loads out of the vector loop to the preheader when scoped noalias metadata proves they cannot alias with any other stores in the loop. 7c34848.

  • Carry-less multiply primitives were added to APInt. 727ee7e.

  • llvm-dwp can now emit string tables over 4GB without losing data. ac6e48d.

  • TableGen was updated so a target can “steal” the definition of a generic pseudoinstruction and remap the operands. bfb9539.

  • The TargetLibraryInfo data was moved to TableGen. c9f5734.

  • lit now sets a LIT_CURRENT_TESTCASE environment variable. 3f6cbde.

  • A RISC-V Zilsd load/store pair optimisation pass was implemented. 645e0dc.

  • An llvm.dbg.declare_value intrinsic was added, motivated by Swift async code. 20ebc7e.

Clang commits

  • Clang can now produce a crash reproducer shell script for IR inputs as well. 83d27f6c.

  • The malloc_span attribute was introduced, which can be applied to functions returning span-like structures. eb65517.

  • Clang’s lifetime analysis can now detect use after return. 5343dd9.

Other project commits

  • Address sanitizer support was added for AIX. c62fc06.

  • Arm optimized implementations for mulsf3 and divsf3 were implemented in compiler-rt. 5efce73.

  • Flang now parses OpenMP loop nests as a whole rather than in a piece-wise manner. c2d659b.

  • LLVM’s libc now has a float-only implementation for atanf. aa3f930.

  • LLDB’s codebase was prepared for supporting integer registers wider than 64 bits. 1fb8e3d.

  • A pass to narrow i64 TOSA operations to i32 was added to MLIR. c61c5d2.

  • New debug macros were added to LLVM/Offload. 66ddc9b.

  • ORC runtime design documentation was committed. de9c182.