LLVM Weekly - #605, August 4th 2025

LLVM Weekly - #605, August 4th 2025

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

Welcome to the six hundred and fifth 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 agenda has now been posted for the upcoming US LLVM Developers’ Meeting.

The next Bay Area LLVM meetup will take place on Monday August 11th.

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

  • Office hours with the following hosts: Johannes Doerfert, Quentin Colombet.
  • Online sync-ups on the following topics: Flang, MemorySSA, qualification group, modules, libc++, lifetime safety, LLVM/Offload, C/C++ language working group, SPIR-V, OpenMP for flang, HLSL, 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

  • More float operations are expanded by default. fe0dbe0.

  • LLVM’s debug logging infrastructure now supports a ‘log level’. e.g. if you LDBG(2) << "foo" and run with --debug-only=some_type:1 then the foo message will be filtered out. 9c82f87.

  • A new CreateVectorInterleave interface as added to IRbuilder. 6fbc397.

  • GlobalISel MachineIRBuilder::(build|materialize)ObjectPtrOffset interfaces were introduced, similar to SelectionDAG::getObjectPtrOffset. Additionally, MIFlags;:InBounds was introduced to indicate the operation implements an inbounds getelementptr operation. d64240b, ef6eaa0.

  • The implementation of SFrame support continues, with the addition of parsing and dumping of SFrame function description entries (FDEs). ded255e.

  • llvm-mc now accepts a --runs option to to aid benchmarking. 4f39139.

  • The guide on cross-compiling compiler-rt builtins for Arm was updated. c10736a.

  • llvm-lit learned to support an --exclude-xfail option, which skips running xfailed tests. b383efc.

  • The AsmPrinter can now emit a call graph section. 7c6a1c3.

  • LoopInvariantCodeMotion stopped reassociating constant offset GEPs. 0a41e7c.

Clang commits

  • A new bugprone-invalid-enum-default-initialization check was added. 6f2cf6b.

  • The use of %T was removed from clang-tools-extra tests, noting it has been deprecated for 7 years. Similar patches landed in other LLVM subprojects. 5d489b8.

  • The run-clang-tidy script now has an enable-check-profiling option to aid benchmarking. f72b3ec.

  • There’s been lots of additional ClangIR upstreaming. e.g. support for the poison attribute and further complex type support. e2b4ba0, 03e54a1.

Other project commits

  • Scudo can now be compiled without quarantine support. ef96275.

  • A crt0 implementation for Arm baremetal was added to LLVM’s libc. 8c9863e.

  • libcxx introduced “assertion semantics”, givein control over what happens when an assertion fails. 3eee9fc.

  • libsycl was started, a runtime library implementation for SYCL. 4cec493.

  • A WebAssembly process plugin was added to LLDB, which adds support for fetching the call stack from the WebAssembly runtime. RegisterContextWasm was also introduced, allowing local variables to be shown. a28e7f1, f623702.

  • MLIR vector.extractelement and vextor.insertelement ops were removed in favor of vector.extract and vector.insert. 33465bb.

  • LLVM’s Offload subproject gained a framework for math conformance tests. This is intended to be used to measure the accuracy of math functions in the GPU libc. 2abd58c.

2 Likes