LLVM Weekly - #575, January 6th 2025
Welcome to the five hundred and seventy-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 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.
Eleven years of LLVM Weekly!
Happy new year, which of course also means another milestone for LLVM Weekly which has now been running for eleven years, still without missing a week. Thank you for reading!
News and articles from around the web and events
Nikita Popov has again written a fantastic this year in LLVM blog post.
Patrick Jordan Bene’s NESFab project claims to be the best performing high level language compiler targeting the 6502, comparing favourably to LLVM and GCC 6502 backends. There’s also an article about its codegen. (NB: Not a new project, but new to me - spotted on lobste.rs).
According to the LLVM calendar in the coming week there will be the following:
- Office hours with the following hosts: Kristof Beyls, Johannes Doerfert.
- Online sync-ups on the following topics: Flang, LLVM/Offload, classic flang, BOLT, OpenMP for flang.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Maksim Levental announced the first release of eudsl, a toolkit for construction of embedded DSLs for targeting MLIR. The linked forum post gives more details about its design and the reason for the current Python emphasis.
Javed Absar and collaborators started an MLIR RFC discussion on extending linalg elementwise named ops semantics.
Oliver Hunt posted a Clang RFC on an experimental implementation of P2719 - type-aware allocation and deallocation functions.
ChuanqiXu is seeking volunteers to help with issues with C++ modules support on Mac M1, Ubuntu, and Windows.
Ellis Hoag gave a heads-up about plans to deprecate
-forder-file-instrumentation
in favour of temporal profiling.Matthias Springer advertised plans to delete the MLIR 1:N dialect conversion driver in April 2025.
Akihiko Odaki started a discussion about pointer type alignment warnings/enforcement in Clang vs UBSan.
David Spickett is seeking additional reviews and/or contributed quotes for the upcoming flang-new to flang renaming blog post.
LLVM commits
InstCombine learned to simplify
with.overflow
intrinsics with assumption information. This addresses a missed optimisation spotted from Rust’s ‘hashbrown’ hash map implementation. 2adcec7.llvm-jitlink now uses concurrent linking by default. 0965515.
The FastMathFlags interface in IRBuilder was refactored. a77346b.
Assembler support was added to the RISC-V backend for the Qualcomm Xqcicli (conditional load immediate) extension. 532a269.
Clang commits
Clang will now canonicalise absolute paths when emitting a dependency file. If I’m not mistaken, this should avoid this long-standing issue filed against ninja. ca2ab74.
Support started to be added for OpenMP offloading to SPIR-V through liboffload. cd19f3f.
The
AllowShortNamespacesOnASingleLine
andWrapNamespaceBodyWithNewlines
options were introduced to clang-format. 486ec4b, 1c997fe.clang-format now supports
**
in .clang-format-ignore. cd23949.The majority of the x86 builtin definitions were ported to using TableGen. 2529a8d, a774adb.