LLVM Weekly - #608, August 25th 2025
Welcome to the six hundred and eighth 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
Fangrui Song has been busy blogging again, with recent posts on understandin alignment and improving sections and symbols in the LLVM integrated assembler.
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 upstreaming, pointer authentication, 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
Renato Golin started an MLIR RFC thread on open questions related to linalg forms.
Simon Tatham asks if there is interest in the upstreaming of optimised routines for FP arithmetic on hardware without FP support.
Mikołaj Piróg proposed to make
-flax-vector-conversions=none
the default, which is closer to GCC’s behaviour.After discussion on a Google Doc, a PR is now up with a proposed change to the maintainer policy document.
Florian Mayer shared a proposal for adding an abseil-unchecked-statusor-use check.
Louis Dionne announced a libc++ ABI break was discovered in LLVM 20 and will be fixed in LLVM 21 (necessitating another break). “The ABI break impacts several container types when used with allocator types, comparator types or hasher types that have specific properties”
Peter Collingbourne started an RFC thread on enhancing function alignment attributes in order to support a notion of preferred alignment. Respondents so far are supportive of adding the functionality, but suggest not overloading the meaning of the existing alignment attribute (used for minimum alignment) and adding a new one instead.
Luke Lau proposed removing codegen support for trivial vector prediction intrinsics in the RISC-V backend, as these have no advantage over the equivalent regular instructions and add burden in terms of additional test cases and code paths. The RFC has support so far.
LLVM commits
llvm-lit now has an
--update-tests
option which will attempt to call the appropriate update-test-checks tool for a failing test. e1ff432.-inline-all-viable-calls
can be used to inline all viable calls even if they exceed the inlining threshold. 58de8f2.MC-layer support was added for the SpacemiT vector dot product vendor specific RISC-V extension. 6842cc5.
DemandedBits now handles non-constant shift operands. c2e7fad4.
The recently added
OrigTy
availability in call lowering was used to remove all custom logic in the Mips backend for retaining information about the original types. b2fae5b.The llvm-offload-wrapper tool was added. 4c9b7ff.
llvm-objcopy can now be used for DXContainer object files. 15babba.
Upstreaming of the LLVMCAS (content addressable storage) library continues with the addition of the ActionCache. deab049.
--relative-paths
can be used with lit to have it print test case names using paths relative to the current working directory. 5928619.
Clang commits
A huge update was made to the documentation on pointer authentication. 62d2a8e.
The
SpaceInEmptyBraces
option was added to clang-format. 6cfedea.As part of the lifetime safety analysis work, a basic use-after-free diagnostic was implemented. 673750f.
Clang’s GCC detection logic now takes into account the presence of libstdc++ headers. 50a3368.
Upstreaming of ClangIR continues with support for atomic load/store operations (as well as various other features in separate commits). 318b0dd.
The
misc-override-with-different-visibility
clang-tidy check was added, which will flag virtual function overrides with different visibility from the function in the base class. a0f325b.
Other project commits
A RemarkEngine was added to MLIR, providing optimisation remark support. 3d41197.
BOLT now has a
--dump-dot-func
command-line option to allow dumping CFGs for the specified functions. fda24db.A vector strlen implementation was added to LLVM libc for x86_64 and AArch64. 3179200.
MLIR’s WasmSSA dialect importer was extended. 95fbc18.
The ompTest unit testing framework was added to LLVM’s OpenMP implementation. 35f01ce.
A new top-level ORC runtime project was introduced, intended to replace the existing runtime in compiler-rt/lib/orc. ee7a6a4.