LLVM Weekly - #589, April 14th 2025
Welcome to the five hundred and eighty-ninth 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.
Apologies that last week’s LLVM Weekly issue went out with an incorrect subject
I’ll hopefully see a number of you at EuroLLVM this week. I’ll be presenting on work done with the support of RISE to improve RISC-V LLVM testing while my Igalia colleague Luke Lau’s presentation covers work to further improve RISC-V vector codegen (extending the VL Optimizer).
News and articles from around the web and events
Qualcomm have open sourced ELD, an embedded linker with support for AArch32/AArch64, Hexagon, and RISC-V.
David Malcolm writes on the Red Hat Developer blog about usability improvements in GCC 15.
Keith Packard blogged about experience using -fsanitize=undefined
with
Picolibc.
The new Munich LLVM meetup will take place on April 29th.
A Cambridge pub LLVM social will take place on April 28th.
According to the LLVM calendar in the coming week there will be the following:
- Office hours with the following hosts: Aaron Ballman, Alexey Bader, Phoebe Wang, Johannes Doerfert.
- Online sync-ups on the following topics: Flang, vectorizer improvements, modules, security response group, LLVM/Offload, Clang C/C++ language working group, SPIR-V, OpenMP for flang, memory safety working group.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
“Sirraide” proposed making
-Wreturn-type
an error by default in Clang. Aaron Ballman summarised follow-up discussion in a meeting where it was concluded that leaving it as warnin by default makes most sense (due to the possibility of false positives for this warning), but a new-Whardened
option could be introduced which opts into stronger diagnostic behaviour.Tristan Ross proposed adding UEFI platform support to LLVM libc.
Alex Zinenko is looking to rearrange some upcoming Open MLIR meeting time slots and seeking input.
Slides were made available from the recent Open MLIR meeting on an interaction nets dialect.
Timur Golubovich is seeking to add YAML scheme support to LLVM’s YAML parser.
Sebastian Pop posted an RFC on adding runtime assumptions to DependenceAnalysis.
Simon Tatham started an RFC discussion on asm goto vs branch target enforcement, noting that GCC and Clang behaviour currently differs.
Joel E. Denny is looking for feedback on proposed efforts to maintain more accurate block frequencies, with the motivation of improving loop transformations.
LLVM commits
Production of debug intrinsics is “soft” disabled. The commit message requests that if this breaks your downstream test you get in touch to help determine if any further transition work is needed to support the move away from using debug intrinsics. 6a45fce.
A new
POISON
SelectionDAG node was introduced to represent poison values from IR. 378ac572.The gn buildsystem now has a
check-builtins
target. 9222607.llc learned to support the
-M
option as used by llvm-objdump and llvm-mc. 02b377d.As part of work to improve the runtime of TableGen for architectures like AMDGPU with complex sub-register relations, the super-register class computation was improved. With future yet-to-land work, the commit message indicates it can cutdown AMGPU TableGen runtime by half. 9c31155.
A scheduler model was added for the IBM z17 processor. 80267f8.
Clang commits
When given LLVM IR input, Clang will now always verify it first. This improves error reporting for when people pass hand-written IR to Clang. 87a4215.
Initial support started to land for OpenACC lowering with ClangIR. 231aa30, 6e7c40b.
Initial function call support was added to ClangIR. 85614e1.
P2719: type-aware allocation and deallocation functions was implemented. 1cd5926.