LLVM Weekly - #573, December 23rd 2024
If you prefer, you can read the canonical version of this issue at http://llvmweekly.org/issue/573.
Welcome to the five hundred and seventy-third 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
Peter Chou blogged about their GSoC project to improve the clang-doc documentation generator.
The dates for EuroLLVM and AsiaLLVM 2025 have been announced. EuroLLVM will take place April 14th-16th in Berlin and AsiaLLVM on June 10th in Tokyo.
As usual you can check the LLVM calendar for planned events. I won’t list them for the coming week as it seems likely many will be canceled due to holidays/christmas.
On the forums
-
Mingming Liu, Snehasish Kumar, and David Xinliang Li started an RFC thread on profile guided static data partitioning, for segrating data in binay ELF sections based on access frequency.
-
LLVM 19.1.6 was released.
-
Jonathan Thackray proposes splitting Clang’s CGbuiltin.cpp noting it is over 23000 lines long and takes over a minute to compile.
-
There was further discussion on shrink wrap save/restore points splitting with notes from a recent RISC-V contributor sync-up on this shared by Alex Bradbury.
-
gbMattN suggests TypeSanitizer should use an ‘outlined’ instrumentation mode by default.
-
Hongren Zheng proposes adding
OpAsm{Type,Attr}Interface
to MLIR to aid pretty-printing. -
Suraj Sudhir posted an MLIR RFC on incrementing the TOSA dialect version to v1.0.
-
Fraser Cormack started an RFC thread on changing the behaviour of elementwise builtins in scalar integer types.
LLVM commits
-
The type sanitizer was committed. a487b79.
-
SDNode::uses()
was renamed toSDNode::users()
andSDNode::use_iterator
was split intouser_iterator
anduse_iterator
meaning you can now write range-based for loops usingSDUse&
andSDNode::uses
. 104ad92, e6b2495. -
llvm-mc
now accepts a--hex
argument to disassemble unprefixed hex bytes. c6ff809. -
The RISCVVLOptimizer pass is now enabled by default for RISC-V. 169c32e.
-
The LLVM Security Group was renamed to the LLVM Security Response Group. ccb66bf.
-
The DXILResourceAccess pass was added, transforming resource access via
llvm.dx.resource.getpointer
to buffer loads and stores. 0fca76d. -
llvm-exegesis gained support for RISC-V. 8e8692a.
-
A scheduling model was added for the MIPS P8700 RISC-V CPU and the scalar part of the scheduling model for the Tenstorrent Ascalon D8. 3222060, e934a39.
-
The unused PoisonChecking utility pass was deleted. 0517772.
-
The Hexagon backend now supports the Hexagon V75 architecture. 8b37c1c.
Clang commits
-
Floating point, pointer, and function types were added to ClangIR. 8ae8a90.
-
Initial type sanitizer support was added to Clang. c135f6f.
-
Matrix types can now be used in pseudo-destructor expressions, which allows them to be stored in STL containers. eb5c211.
-
A
-Wtautological-compare
diagnostic was introduced which warns when a check for pointer addition overflow is always true or false. 6d34cfa. -
The
-ubsan-unique-traps
flag was removed as the functionality has been superseded by-fno-sanitize-merge
. cb8a90b, 5bb6503. -
ThreadSafetyAnalysis was improved to support passing scoped capabilities into functions. c1e7e45.
Other project commits
-
MLIR’s python binding was ported to nanobind, motivated by improved performance. b56d1ec, 5cd4274.
-
BOLT gained a conservatively safe variant of its identical code folding implementation. 3c357a49.
-
The Type Sanitizer runtime was committed. 641fbf1.
-
Flang now supports the
UNSIGNED
datatype with-funsigned
. fc97d2e. -
LLDB’s progress report mechanism can now be rate limited. 0dbdc23.