LLVM Weekly - #616, October 20th 2025

LLVM Weekly - #616, October 20th 2025

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

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

Anthony Tran wrote on the LLVM blog about usability improvements for the Undefined Behavior Sanitizer implemented as part of GSoC.

Timm Baeder blogged about recent developments for the Clang bytecode interpreter.

The next LLVM Bay Area Monthly meetup will take place on Monday October 27th.

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.
  • Online sync-ups on the following topics: ClangIR, pointer authentication, vectoriser improvements, OpenMP, Flang, RISC-V, LLVM libc, HLSL.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • -print-debug-counter-queries was added to print the current value of the counter and whether it is executed/skipped each time it is queried. 9ace311.

  • An arbitrary number of cases can now be used in LLVM’s StringSwitch. 8642762.

  • Register usage debug printing at the point of maximum register pressure was implemented for AMDGPU. 8823efe.

  • An llvm.dx.resource.getdimensions.x intrinsic was added. 78d9816.

  • IndVarSimplify learned to better optimise some loops with thread-local writes. 39b0cbe.

  • BlockFrequencyInfo is no longer used in SimpleLoopUnswitch, which was the last loop pass using it. df89564.

  • Codegen was implemented for the RISC-V Zvfbfa extension. 0727e7a.

Clang commits

  • The core.NullPointerArithm checker was introduced, which will find undefined arithmetic operations with null pointers. 8570ba2d.

  • X86 PSHUFB intrinsics can now be used in constexpr. 140d465.

  • clang-format’s algorithm for continuing aligned lines was improved. a0b8261.

Other project commits

  • The MultiMemRead packet for LLDB’s debugserver was both documented and implemented. It reads memory from multiple memory ranges. e91786a, 5e668fe.

  • A new lower-workdistribute pass was added to Flang that will operate on lowered Fortran array statements and perform various rewrites and optimisations. f4fe714.

  • libcxx std::distance and std::ranges::distance were optimised for segmented iterators. As this reduced the complexity from O(n) there are some big gains in the microbenchmarks. fd08af0.

  • The MathToXeVM and GPUToXeVM passes were added to MLIR. 3f3ffed, 89d1143.

  • The Wasm binary to WasmSSA MLIR importer now supports control flow operations, comparison operations, and conversion operations. e40f215.

  • Polly’s PolyhedralInfo pass (an experiment to make Polly’s analysis available to other passes) was removed as its implementation was very tied to the legacy pass manager. c46fec8.

1 Like