LLVM Weekly - #668, October 19th 2026
Welcome to the six hundred and sixty-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
Krish Gupta wrote on the LLVM project blog about their GSoC project on a static memory planner for MLIR.
Luke Lau blogged about speeding up a popcount function in
LLVM, ultimately managing
to reduce it down to a simple vcpop.v running 115x faster than the
previously generated code.
According to the LLVM Calendar in the coming week there will be the following:
- Office hours with the following hosts: Phoebe Wang.
- Online sync-ups on the following topics: formal specification, pointer authentication, vectoriser improvements, OpenMP, Clang C and C++ language working group, Flang, RISC-V LLVM libc, HLSL, LLVM libc math.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
The agenda for the LLVM Memory Safety Workshop is now available.
Minutes and the slide deck from the recent community design review meeting on pattern matching in C++ are now available.
Pavel Labath proposed an API in LLVM libc that makes it easier to error-check memory allocation and management.
zerico2005 proposed adding fpconvert as a generalisation of fpext and fptrunc, with the alternative of replacing both fptrunc and fpext with fpconvert also mentioned. One of the motivations is that conversions between types of the same width can’t currently be expressed with fptrunc/fpext.
Farzon Lotfi posted a Clang RFC on using column-major matrix SSA in every language mode.
Jules Merckx looped back to their RFC on the MLIR ‘match’ dialect to share some timing measurements for a set of ported arith canonicalisation patterns.
LLVM commits
An initial cost model was added for LoopFusion. a244d77.
Cycles running TableGen for building AMDGPU register banks was reduced by 8-12% by avoiding linear search for register class names. There’s a whole bunch of other TableGen optimisations this week as well. 5ea8abe.
RegAlloc got better at considering rematerialisation rather than using a callee-saved register. 2ee8123.
CompareSCEVComplexity now has a total order for SCEVs (previously the comparison might return 0 for distinct nodes). f06e51b.
AggressiveInstCombine learned to detect ctpop table lookups and lower them to an llvm.ctpop intrinsic. db4132b.
Input section aware machine outlining was added, where the outlined function will be emitted within the same section of the set of functions being outlined. 8d4e0bd.
Clang commits
Zstd compression support was added for time trace output. 33632ff.
A
-Wexperimental-lifetime-safety-field-origin-escapewarning was added for member functions returning field origins. 63dcd11.The ClangIR docs landing page was refreshed. f9a417f.
A
modernize-use-if-constevalclang-tidy check was added, which will replacestd::is_contant_evaluated()checks inifstatements with C++23’sif constevalsyntax. c25a312.
Other project commits
A Flang design doc was added for inline runtime checks, and the
fir.assertoperation described in that doc was implemented. 7159d39, 69ea540.ASan adopted the operator-new framework from
sanitizer_commonwhich amongst other things, allowsstd::bad_allocto be thrown on OOM rather than just dying. dc53f17.LLVM libc is now supported on Hexagon bare-metal targets. 835ca75.