LLVM Weekly - #595, May 26th 2025
Welcome to the five hundred and ninety-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
AsiaLLVM registration will be closing within the coming days, so if you’re hoping to attend now is your final chance to register.
The next Portland LLVM social is taking place on May 29th.
The GCC compiler backend for rustc
can now do a full 3-stage bootstrap of
the Rust
compiler.
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 Emerrson.
- Online sync-ups on the following topics: Flang, C++ modules, LLVM/Offload, SPIR-V, OpenMP in flang, LLVM memory safety working group.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Tobias Hieta [proposed a slightly modified release process be followed from LLVM 21 onwards]https://discourse.llvm.org/t/rfc-updating-and-aligning-the-llvm-release-process-before-llvm-21/86493). The key change is that the number of release candidates is influenced by the number and scale of changes for the previous ones (meaning a final release might be reached either earlier or later than before).
Joshua Cranmer provided some detailed advice on exception handling in LLVM.
Justin Cady is seeking some pointers on issues with code coverage accuracy.
Arysef posted an RFC on supporting sized target extension types in LLVM vectors.
Tom Eccles proposes removing the warning that OpenMP support in Flang is experimental in time for the LLVM 21 release. All respondents are supportive so far.
“jjmarr” is interested in caching C++ template instantiations across translation units.
LLVM commits
Initial support was implemented for integrated distributed ThinLTO. This allows distributed thin LTO without needing special build system support. 6520b21.
A scheduling model was added for the SiFive P800 processor series. b92b548.
Preparatory work was done to allow DLL export annotations in the llvm/CodeGen library. 98595cf.
And
APInt::clearBits()
method was added. d067014.The semantics of
ptrtoint
were further clarified in the LangRef. dbfd0fd.The LoongArch LA32S ISA extension is now supported. 746c682.
Assembler/disassembler support was added for the RISC-V ‘Xsfmm*’ (matrix multiplication) vendor specific extension. a0b6cfd.
An
update_givaluetracking_test_checks.py
script was added. a2aa881.IR2Vec was added as an analysis pass. Part of the MLGO effort, IR2Vec is a program embedding approach designed specifically for LLVM IR. 58ab005.
RISC-V intrinsics were altered to be usable with pointer types of any address space. 86d1d4e.
llvm-objdump’s support for “fatbin” offload bundles was extended so that it can now extract offload fatbin bundle entries into separate code object files. 51a03ed.
Clang commits
ClangIR support for C++ member function calls and iterator-based range for loops was upstreamed. a0c515a, cbcfe66.
DiagnosticOptions was changed not to use an intrusive reference count. 9e306ad.
Other project commits
BOLT’s gadget scanner saw further development, with support for analysing functions without CFG information and detection of signing oracles. f5401c6, 48a2836.
ShallowCopy
in flang-rt was optimised. c2892b0.The OpenCL builtins were reorganised within libclc. 32cf55a.
A feature test macro header test generator utility was added to libcxx. b12d68e.
LLDB now supports 32-bit RISC-V ELF corefiles. dfabd61.
Documentation was added for MLIR’s OpAsmAttr and TypeInterface. 1b69f77.