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
-
Renato Golin started a discussion on further fleshing out LLVMâs maintainer policy.
-
Peter Hallonmark shared some thoughts on supporting MISRA checks in a clang-tidy module.
-
Owen Anderson, Jessica Clarke, Alex Richardson, David Chisnall posted an RFC on upstreaming target support for CHERI-enabled architectures. As the post explains, more fine-grained RFCs will follow - the intent of this one is to get feedback/consensus on the overall direction of upstreaming. Respondents so far are all very positive.
-
LLVM 21.1.0-rc2 was released.
-
Clang/LLVMâs lack of full support for the
restrictqualifier has been discussed many times over the years. Vladislav Belov breathed new life into the discussion with a new proposal based on encoding lexical scope information in TBAA metadata. -
The MLIR project lighthouse repository is now online at llvm/lighthouse.
-
âSirraideâ started a Clang RFC discussion on a new text diagnostics format that supports nested diagnostics.
-
Prerona Chaudhuri is collecting a list of common errors or missing features in TableGen as part of a âFriendlyTableGenâ initiative.
-
LLVM Foundation Board meeting minutes have now been posted for meetings on February 28th, April 4th, May 9th, and June 5th.
-
âaman612â asked for and received thoughts on GlobalISel vs SelectionDAG in 2025. Jason Eckhardt shared experiences from bringing up new backends from scratch on GlobalISel and Amara Emerson noted seom of the current limitations/downsides.
-
Muhammad Bassiouni proposed adding bounds-checking interfaces to LLVM libc (as defined in Annex K of C11).
-
Aaron Ballman, Shafik Yaghmour, Vlad Serebrennikov, and Corentin Jabot are seeking community feedback on a âhardeningâ mode for Clang. As outlined in the RFC, although there are lots of choices to be made about how this is done, you could imagine enabling various
-f,-m,-D, and-Wflags by default. âWe are looking for high-level direction from the community on how to proceed. Once we know that the community supports the notion of a hardened mode, and we know the general shape of how the community wants that mode surfaced, we intend to come back with a separate proposal for that particular path forward as well as the initial set of functionality enabled by that mode.â
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:1then thefoomessage will be filtered out. 9c82f87. -
A new
CreateVectorInterleaveinterface as added toIRbuilder. 6fbc397. -
GlobalISel
MachineIRBuilder::(build|materialize)ObjectPtrOffsetinterfaces were introduced, similar toSelectionDAG::getObjectPtrOffset. Additionally,MIFlags;:InBoundswas 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
--runsoption 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-xfailoption, 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-initializationcheck was added. 6f2cf6b. -
The use of
%Twas 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-tidyscript now has anenable-check-profilingoption 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.
RegisterContextWasmwas also introduced, allowing local variables to be shown. a28e7f1, f623702. -
MLIR
vector.extractelementandvextor.insertelementops were removed in favor ofvector.extractandvector.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.