LLVM Weekly - #430, March 28th 2022
Welcome to the four hundred and thirtieth 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
LLVM 14.0.0 has been released. Congratulations and thank you to everyone involved!
EuroLLVM 2022 is now confirmed for May 10-11 in London, UK. Talk proposals are due for April 1st.
On the forums
Arthur Eubanks started a discussion on replacing the -commits lists.
Tom Stellard posted a proposed schedule for LLVM 14.0.1. In this schedule, 14.0.1-rc1 will be tagged on April 19th, with a final release expected on May 31st.
Alex Brachet provided a heads up about a forthcoming change to make Clang’s crash reproduction feature emit a single tar file rather than multiple files.
LLVM GPU News #30 is now available.
Sam McCall posted an RFC on moving clangd’s “include cleaner” to clang-tools-extra so it can be used in clang-tidy.
The discussion about improving multi-process support in LLDB continued.
LLVM commits
-march=native now works for the Apple M1 CPU. fcca10c.
Unwind information for function prologues on AArch64 is now precise at every instruction. 50a97aa.
An implementation of the BLAKE3 function was added to LLVM’s support library. 9aa7019, 7f05aa2.
debuginfod was modified to not rely on the presence of the Content-Length HTTP header. 7917b3c.
The LLVM WebAssembly backend will now always emit .functype directives for defined functions, avoiding failures in the single-pass type checker due to calls appearing ahead of the functype definition. 86cc731.
The debugify pass was sped up by ~2x. 73777b4.
The demangler gained support for demangling C++20 modules. c354167.
The LLVM provided Dockerfiles were updated to be based on Debian 10. 9580f95.
Clang commits
A new
--overlay-platform-toolchain
option was introduced, allowing an alternate toolchain path to be specified, to be searched in addition to (and with a higher precedence than) the sysroot. d00e840.Work to support C++20 importable header units started to land. 6c0e60e, 0687578, f884622, d9cea8d.
PPC SSE4 and BMI intrinsics implementations were added. 406bde9.
Non-literal variables (and labels and gotos) are now supported in constexpr functions. 683e83c.
A script was committed to automatically update help output in ClangFormat.rst. a45ad3c.
The “parse forest” representing the output of the GLR parser was added to the Clang pseudo parser. 62d5f25.
Other project commits
LLVM’s libc gained a Linux file implementation and implementations of fopen, fclose, fread, fwrite, and fseek. df4814d, 441606f.
The ELF LLD linker now implements
--build-id={md5,sha1}
with BLAKE3, providing a 1.13x-1.15x speedup in linking Clang with debug info on 8 threads on a Skylake CPU. d3e5b6f.Another collection of Flang lowering patches were committed. 7a9891c, fe252f8, 5754bae, and more.
A lightweight overridable assertion handler was added to libc++. b0fd949, 5c458f3e5.
A simple fuzzer was added for the MLIR textual format. 450692d5.