LLVM Weekly - #403, September 20th 2021
Welcome to the four 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 https://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
The recording from the LLVM Distributors' Conf is available on YouTube.
The call for proposals for the 2021 LLVM Developers' Meeting has been extended to September 27th.
On the mailing lists
LLVM 13.0.0-rc3 has been tagged. Tom Stellard also sent a reminder to put release-13.0.0 in the ‘Blocks’ field of bugs that you want fixed in the 13.0.0 release.
Petr Hosek proposed unifying the names of variables used for results of CMake checks, which may allow better deduplication of checks or removal of unnecessary ones.
Tom Stellard proposes deprecating config.guess.
Chris Bieneman followed up on the previous thread on a multi-call (“busybox style”) LLVM binary to share a prototype of the idea.
Momchil Velikov shared an RFC proposal for adding a simple GVN hoisting transform to catch common cases, without enabling the full GVNHoist pass. This resulted in some detailed responses from Philip Reames.
Arthur Eubanks suggested saving memory by clearing the Clang AST before running backend optimisations and codegen.
Zeson asked about some of the challenges of i64 being the only legal type on 64-bit RISC-V. Craig Topper and Alex Bradbury responded with thoughts.
Kuba Mracek pinged for any additional feedback on the introduction of conditional references between globals in LLVM IR.
“bd1976” posted an RFC on emitting additional metadata to facilitate ELF hotpatching.
LLVM commits
The PowerPC backend can now selected prefixed loads/stores (loads/stories with a offset fitting into a 34-bit immediate). 5041a48.
LLVM_ENABLE_PER_TARGET_RUNTIME_DIR
was enabled by default on Linux. f9dbca6.The Arm backend gained a mitigation for CVE-2021-35465 (present in the Cortex-M33, M35P, and M55). 1bd5ea9.
Finalisation and deallocation actions were added to ORC. 78b083d.
A reduce operands pass was added to llvm-reduce. f18c073.
Clang commits
A new readability-container-data-pointer check was introduced. d0d9e6f.
Support was added for delimited escape sequences
\x{XXXX}
,\u{XXXX}
, and\o{OOOO}
. 274adcb.Information about C99 was added to Clang’s C status page. 101c3de.
Other project commits
Following on from a previous RFC discussion, global state was removed from the LLD/COFF linker. 6f7483b.
Documentation was added for flang frontend driver plugins. 7acf929.
A clspv (a compiler for compiling OpenCL C to Vulkan SPIR-V) target was added to libclc. 21427b8.