LLVM Weekly - #588, April 7th 2025
Welcome to the five hundred and eighty-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
Final call for registration for the EuroLLVM Developers' Meeting.
Registration is now open for the 2025 AsiaLLVM conference, taking place on June 10th in Tokyo.
Alex Denisov blogged about building LLVM plugins with Bazel.
Ubuntu benchmarked compiling more packages with -O3 and found it didn’t seem to be worth it.
According to the LLVM calendar in the coming week there will be the following:
- Office hours with the following hosts: Alina Sbirlea, Kristof Beyls, Johannes Doerfert.
- Online sync-ups on the following topics: MLIR C/C++ frontend, ClangIR, pointer authentication, libc++, OpenMP, Flang, BOLT, RISC-V, LLVM libc.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
LLVM 20.1.2 was released.
Adam Siemieniuk started an MLIR RFC discussion on simplifying x86 intrinsic generation.
Sergei Barannikov posted a migration guide for using the new support for TableGen-erating SDNode descriptions.
Timo Nicolai asked about interfacing between xDSL and MLIR.
As part of the discussions on global function merging, Zhaoxuan Jiang shared a plan for improving the performance of loading the stable function map for non-LTO setups.
Meeting notes have been posted from the tensor compiler design group meeting.
Aaron Ballman has posted to Discourse meeting notes from past Clang language working group meetings (and more - look in the Clang Frontend cateogry on Discourse).
LLVM commits
LLVM’s GitHub documentation page now covers stacked pull requests. 7dce16a.
Debug info support for fixed-point types was added, motivated by Ada. 6894734.
The Xtensa windowed register call ABI was implemented. 89c25c5.
llvm-reduce learned to reduce the target-features attribute. f60eed9.
Options were added to control the cost heuristics applied for loop interchange. 528e408.
The spirv.VulkanBuffer type was added to the SPIR-V backend. a77d807.
llvm-dwarfdump’s
--verify
option is now multithreaded. 4f902d2.MCAsmLexer and AsmLexer were merged. c9f6d26e.
An initial CFG simplification transform was added to VPlan. 5fbd065.
SelectionDAGTargetInfo and SDNodeInfo classes were introduced for accessing generated SDNode descriptions. 0a17427.
Clang commits
The ClangIR upstreaming effort added support for while and do..while loops, as well as break and continue statements. 9f3d8e8, b0d0636.
clang-sycl linker now uses the SPIR-V backend to do LLVM to SPIR-V translation internally. 4a4d41e.
Other project commits
BOLT’s gadget scanner can now detect non-protected indirect calls. c818ae7.
Driver options for array repacking were added for Flang. 3f6ae3f.
ranges::iota
was implemented in libcxx. 475cbf0.std::flat_multiset
was implemented in libcxx. 7013b51.LLDB can now parallelise the loading of many shared libraries when symbol preloading is enabled. a8d2d16.
New OpenMP memory management interfaces were implemented. 8100bd5.