LLVM Weekly - #620, November 17th 2025
If you prefer, you can read the canonical version of this issue at https://llvmweekly.org/issue/620.
Welcome to the six hundred and twentieth 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
Save the date for the 2026 EuroLLVM Developersâ Meeting, taking place April 13th-15th in Dublin.
The next LLVM meetup in Berlin will take place of 20th November.
According to the LLVM Calendar in the coming week there will be the following.
- Office hours with the following hosts: Johannes Doerfert, Aaron Ballman.
- Online sync-ups on the following topics: ClangIR upstreaming, pointer authentication, vectorizer improvements, Clang C/C++ language working group, 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
-
Justin Stitt started an RFC discussion on supporting âstrong typedefsâ in Clang, motivated by the desire to reduce type confusion bugs in C code.
-
Reid Kleckner provided a new summary on discussions about 64-bit source locations in Clang.
-
Vladislav Dzhidzhoev provided a detailed update on work to improve DwarfDebug support for imported entities.
-
In response to a user question, Markus Böck provided some pointers to examples of using LLVMâs GC facilities.
-
Aaron Ballman provided an update on expectations for Clangâs new constexpr engine. The change is that if the older
ExprConstant.cppis being modified, a matching patch should also be made to the new constant expression engine. -
Jeff Bailey queried locking in LLVMâs libc getenv, setenv functions which generated a bit of discussion about what guarantees other libc provide.
-
Notes were shared from the 2025 runtimes workshop.
-
Maksim Levental posted an RFC proposal for regularly bumping the minimum Python version required by MLIR, coinciding with the end of life of that Python version from upstream. This policy is MLIR specific rather than LLVM wide. The proposal has strong support so far.
LLVM commits
-
The straight-line strength reduction pass was redesigned, providing infrastructure for later adding partial strength reduction support. f67409c.
-
JITLink gained initial SystemZ support. 8218055.
-
The register coalescer âterminal ruleâ was enabled by default for multiple targets. e95f6fa, 793ab6a, 2aa629d, and more.
-
DJAJumpThreading was disabled by default again due to detected miscompiles. 7e04336.
-
Initial codegen support was added for the RISC-V âPâ (packed SIMD) instruction set extension. Currently just for a small set of instructions. dfdc69b, 6b16b31.
-
The âmodular-formatâ attribute was introduced. This can be used to e.g. keep floating point support out of printf if it can be proven to be unused. c9ff2df.
-
litâs options for controlling output were revamped with a range of new options added, and existing
-q,-s,-v,-aflags defined as aliases of appropriate combinations of these new finer grained options. dbf77e4. -
Following the addition of
--save-statstollc,optnow supports the same flag. 35ffe10. -
A new target feature was introduced for BPF to allow misaligned memory accesses. fb2563d.
-
Assembler support was added for the AArch64 Permission Overlay Extension 2. 40a9e34.
Clang commits
-
A generic byte swap builtin,
__builtin_bswapgwas added, supporting all integer types. f210fc1. -
clangDriver options-related code was factored into a new clangOptions library. 9a783b6.
-
ClangIR AddressSpace conversions support was upstreamed. 8f90716.
Other project commits
-
std::optional<T&>was implemented in libcxx. 389a23c. -
Flang gained parser support for the prefetch directive. cf1f871.
-
The GTest version used by the runtimes build no longer has a dependency on LLVMSupport, avoiding some bootstrapping issues. 0957656.
-
An SVE implementation of strlen was added to LLVMâs libc. 8751f26.
-
The arith-to-apfloat pass was added to MLIR. It will lower floating point arithmetic operations to calls into a runtime library. 7a53d33.
-
Polly now has its own pipeline manager rather than relying on LLMVâs pass manager. 7a0f7db.