LLVM Weekly - #430, March 28th 2022
If you prefer, you can read a HTML version of this email at http://llvmweekly.org/issue/430.
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 crrash 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.