LLVM Weekly - #471, January 9th 2023
Welcome to the four hundred and seventy-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 to asb@asbradbury.org, or @llvmweekly or @asbradbury on Twitter.
News and articles from around the web and events
llvm.org has been updated with the planned schedule for LLVM 16.0.x. The 16.x branch is scheduled to be created on Jan 24th.
The LLVM blog features a post summarising the outcomes of six internships related to interactive (e.g. JITted) C++ development.
According to the LLVM calendar in the coming week there will be:
- Office hours with the following hosts: Aaron Ballman, Alexey Bader, Alina Sbirlea, Kristof Beyls, BOLT developers, Anastasia Stulova, and Johannes Doerfert.
- Online sync-ups on the following topics: Flang, SYCL, OpenMP, loop optimisations, MLIR, SPIR-V.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Lu Weining proposed promoting the LoongArch backend from experimental to official.
Michael Platings is seeking input on a proposal to improve the way Clang handles multilib, adding support for specifying multilib details in a yaml file.
Kai Nacke posted an RFC on replacing the current GlobalISel matcher with a bottom-up matcher.
John McIver started an RFC discussion on altering the uninitialised memory semantics for the load instruction.
Zixu Wang suggested separating the LLVM vim utilities into a separate repo.
Johannes Doerfert kicked off a discussion about avoiding special treatment of intrinsics.
Matthew Voss shared updated figures from the LLVM test suite with the unified LTO bitcode frontend.
Reid Tatge provided an update to work on MDL, the micro-architecture description language for LLVM.
Konrad Kleine proposed a (self-described) “opinionated change” that simplifies and unifies repetitive CMake code in standalone build mode.
LLVM commits
The ConstraintElim pass was enabled by default. fb13dcf.
Variadic
DBG_INSTR_REF
s are now supported in LiveDebugValues. a344c90.The type promotion pass gained support for the new pass manager. 615333b.
llvm.vp.{ctlz,cttz,abs} were added and implemented for RISC-V. 1e9e1b9, 5a57ebc.
LLVM was updated to use
ArrayRef
deduction guides rather thanllvm::makeArrayRef
. 38818b6.Runtime unrolling was disabled for vectorised loops. 68469a8.
Additional codegen patterns were added for the RISC-V XVentanaCondOps extensions. 1aa9862.
Clang commits
clang no longer emits the
"frame-pointer"="none"
attribute, as it is the default behaviour. ce6ae0b.AArch64 SVE intrinsics are now gated on the target not by ifdef preprocessor macros. 6cac7c2, 9978529.
clang-format gained an option to break after C++11 attributes. a28f074.
The
-fexcess-precision
option was added. 85d049a.