LLVM Weekly - #503, August 21st 2023
Welcome to the five hundred and 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 to asb@asbradbury.org, @llvmweekly or @asbradbury on Twitter, or @llvmweekly@fosstodon.org or @asb@fosstodon.org.
News and articles from around the web and events
Registration is now open for the 2023 LLVM Developers' Meeting. The early bird rate runs through to September 10th.
According to the LLVM calendar in the coming week there will be:
- Office hours with the following hosts: Johannes Doerfert
- Online sync-ups on the following topics: Flang, SYCL, OpenMP, classic Flang, loop optimisation working group, OpenMP for Flang, MLIR open meeting, SPIR-V.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Alexandre Singer proposed the addition of lifetime annotations of memory within MLIR.
Joel E. Denny outlined a set of suggested changes to lit’s debug output aiming to improve the developer experience.
Peter Smith outlined the format of the embedded toolchains workshop agenda and is trying to confirm who is planning to attend.
Jon Chesterfield made a proposal for desugaring varargs in order to unblock optimisations.
MLIR News #35 is out.
Slava Zakharin posted an RFC on enabling HLFIR lowering by default in Flang. See this document for more information about HLFIR.
Justin Bogner shared a heads-up that Clang’s Options.td is being refactored, which might cause merge conflicts for some downstream users.
LLVM commits
The developer policy around links to external resources (e.g. rdar:// links) has been agreed and committed. 6773269.
A workaround was added for a minor code quality regression in RISC-V vector code generation related to MachineCSE refusing to eliminate instructions that have IMPLICIT_DEF operands. a63bd7e.
Performance of the sample profile reader was improved. 7624de5.
Initial FatLTO support was added to the Gold plugin. 6b539f5e.
OptTable’s “Flags” field was split into “Flags” and “Visibility” in order to enable refactorings in Clang. dcb6d21.
Additional legalisations were added for RISC-V GlobalISel. 88903fa, ae76574, 6eb36ae, 638865c, and more.
It’s now possible to access information about inline assembly calls through the C API. a1c447d.
The BPF backend now support’s the
BPF_ST
‘store immediate’ instruction. 8f28e80.Error messages for the CMake
-LLVM_TARGETS_TO_BUILD
were improved in the case of unrecognised experimental targets. f1edee4.
Clang commits
-mno-gather
and-mno-scatter
flags were added for X86 to disable generation of gather/scatter in auto-vectorisation (this is related to the ‘downfall’ vulnerability. 993bdb0.The Clang driver was refactored to use LLVM Option’s new visibility flags. 9478f66.
A bitwise shift checker was added to the Clang static analyzer that will report situations where bitwise shift operators produce undefined behaviour. 25b9696.