LLVM Weekly - #477, February 20th 2023
Welcome to the four hundred and seventy-seventh 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
Registration for the 2023 EuroLLVM Developers' Meeting is now open.
An in-personal LLVM meetup will be held on Feb 25th in Wuhan, China. A meetup will also be taking place in Bangalore on the same day.
Jonas Hahnfeld writes about making enough of Cling and ROOT work on RISC-V to re-discover the Higgs boson.
The /r/cpp Reddit moderators have posted a trip report from the 2023-02 Issaquah ISO C++ committee meeting (highlight: C++23 is done!).
According to the LLVM calendar in the coming week there will be:
- Office hours with the following hosts: Kristof Beyls, Johannes Doerfert.
- Online sync-ups on the following topics: Flang, LLVM security group, OpenMP, loop optimisation, OpenMP in Flang, MLIR, and SPIR-V.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
The first LLVM Foundation strategic planning session will be held on Feb 27th/28th, focusing on grants and scholarships.
Nick Desaulniers announced that the work to match GCC’s support for asm goto is complete.
A public Google calendar is now available for MLIR open meetings.
Renato Golin proposed that LLVM sub-directories provide up-to-date README.md files to aid navigation and discoverability, particularly for people using a web UI like GitHub.
Piotr Zegar started an RFC discussion on excluding issues from system headers as early as possible in clang-tidy.
Alex Bradbury posted an RFC on resolving issues related to extension versioning in RISC-V.
The RFC from Vasileios Porpodas on lightweight LLVM IR checkpointing generated a lot of discussion this week, with some concerns raised about the support burden and whether it might encourage inefficient implementation approaches.
Christudasan Devadasan suggested introducing a generic predicated COPY opcode for targets where a COPY operation is more than just a copy between two registers.
LLVM commits
The CallBrPrepare pass was introduced. fb47115, 0a39af0, 094190c, 28d45c8, 5cc1016, a3a84c9.
A build for Windows on Arm was added to the LLVM release packaging script. c5e1000.
New pass manager support was added to the HardwareLoops pass. 2a58be4.
MC layer support was added for the RISC-V vendor-specific XTHeadBs and XTHeadBb, and XTHeaadMAC extensions. Initial support was also added for Zfa. 04a2baf, fc02eeb, d4012bc, c0947dc, df56b55.
PPC’s GISel gained support for fpconstant. 6ee2f77.
The hasBitPreservingFPLogic hook was removed. 09dd4d8.
Additional parts of the llvm-debuginfo-analyzer implementation were committed. 7fbcc24.
Zicsr and Zifencei extensions are now accepted as command-line options in the RISC-V backend, increasing compatibility with GCC. 22e199e.
The PlaceSafepoints pass was ported to the new pass manager. 1ceb79e.
Clang commits
Documentation was added for
clang-scan-deps -format=p1689
. 9c4f0d8.The deprecated
-fmodules-ts
flag was removed. 612f3ac.Clang now supports WebAssembly externrefs. 890146b.
Other project commits
LLVM’s libc gained a loader utility for AMDHSA architectures for testing. 67d78e3.
Thread-safety annotations were added to the Scudo allocator. 6a4c395.
An RFC on
-fstack-arrays
was committed to the Flang documentation. 5922b88.HLFIR array constructor lowering started to land in Flang. ffde9f1, a9e4bb3.
LLDB now has architecture-specific watchpoint behaviour defaults. eaeb8dd.
LLDB support for Renderscript was removed, as it is deprecated in Android. 17e2497.