LLVM Weekly - #581, February 17th 2025
Welcome to the five hundred and eighty-first 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 http://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 /r/cpp moderator’s Hagenberg ISO C++ committee trip report is up. See especially the update on C++ profiles.
The next Portland LLVM meetup was pushed out a week to February 20th.
According to the LLVM calendar in the coming week there will be the following:
- Office hours with the following hosts: Phoebe Wang, Aaron Ballman, Johannes Doerfert.
- Online sync-ups on the following topics: flang, vectoriser, libc++, security working group, LLVM area team, LLVM/Offload, classic flang, C/C++ language working gropu, SPIR-V, floating point, OpenMP for flang, instructure area team.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
The results of the LLVM Area Team Elections are now up. Thank you to everyone who stood, and congratulations to those elected.
Arthur Eubanks posted an RFC on the new pass manager pipeline construction design. “The new pass manager for the codegen pipeline has some implementation in-tree, but it’s been pretty organic growth so far and I’d like to properly design it out with feedback from the community (especially those more familiar with the codegen pipeline) before we get into a state where it’s too hard to change design. This focuses on how we’ll create the codegen pipeline programmatically in code, which is the main challenge so far.”
LLVM 20.1.0-rc2 was released.
Ron Dahan proposed expanding the experimental histogram intrinsic.
Andrzej Warzynski gives a heads-up that MLIR’s tensor.pack and tensor.unpack ops are moving to linalg this week.
As the commit access criteria thread seems to have reached consensus, Tom Stellard has moved it to PR.
Balazs Benics took a moment to recognise the progress that the clang static analyzer contributor community has made. Congratulations and thank you everyone!
Rahul Joshi started a conversation on clarifying LLVM’s style guide for using
static
when possible.More GSoC ideas are appearing. See the GSoC category and gsoc2025 tag.
LLVM commits
Guidance on handling large formatting changes within PRs was clarified. f845497.
The LoongArchMergeBaseOffset pass learned to merge base and offsets for tle-le code sequences. 0b5c318.
Guidance on backporting fixes to the release branch was clarified. 308d286.
The unused TargetIntrinsicInfo class was removed. 0f674cc.
The llvm.sincospi intrinsic was introduced. 701223a.
The long-deprecated
OperandMatchResultTy
enum was removed. d222488.An
errno
memory location kind was introduced to IR. ff585fe.Discord invite links are now placed alongside links to Discord channels (as the channel links aren’t usable unless you joined the server via invite at some point). db2953d.
A
FatLTOCleanup
pass was added. 63c1be7.The
mul
constant expression was removed. d8b2e43.A generic OoO RISC-V scheduling model was added. 7eadc19.
Clang commits
__builtin_assume_dereferenceable
was introduced, allowing you to provide the optimiser with knowledge that the pointer argument is dereferenceable up to at least the specified number of bytes. 50d10b5.Combinations of
-f(no-)strict-overflow
,-f(no-)wrapv
,f(no-)wrapv-pointer
are now handled in the same way that GCC does (process left-to-right and pick whatever is active at the end). 783275e.Declaration attributes on
void
parameters is no longer allowed. aeeeeab.Documentation was written on using
perf
anduftrace
to debug performance issues in Clang. 1337b0f.The clang static analyzer gained a new
assume-at-least-one-iteration
option. edbc1fb.HLSL initialisation list support was implemented. 761d422.
Other project commits
LLDB’s breakpoint handling behaviour has been changed. It now only sets a thread’s stop reason to breakpoint-hit when the instruction has actually been executed / the breakpoint has been triggered. b666ac3.
MLIR’s deprecated buffer-deallocation pass was removed. 213917b.
Flang now generates proper ABI flags for RISC-V in the emitted ELF. 8da8ff8.
It should now be possible to build flang against an installed MLIR. c30a7f4.
strftime
was implemented in LLVM’s libc. 398f865.Additional linker relaxations were implemented in LLD for LoongArch. 6c54ab5.