LLVM Weekly - #353, October 5th 2020
Welcome to the three hundred and fifty-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 2020 LLVM Virtual Developers' Meeting is taking place this week, October 6th-8th. The LLVM Foundation have announced that registration will remain open throughout the conference. They've also posted a video tutorial on using the conferencing software.
On the mailing lists
-
ORC JIT Weekly #22 is out (in fact it was out last week - apologies for missing it) with an overview of the OrcV1 removable code feature. ORC JIT Weekly #23 is also out, providing updates on C API extensions, DefinitionGenerator changes, and OrcV1 removal.
-
Kai Peter Nacke proposed adding character set conversion to the LLVM Support library. This is motivated by the need to convert strings to/from EBCDIC and UTF-8 on z/OS.
-
Matt P. Dziubinski asked about Padded SLP Automatic Vectorization, which was presented at CGO and EuroLLVM 2015. Vasileios Porpodas, one of the paper's authors provided insight on PSLP features still not supported in the current SLP pass.
-
LLVM 11.0.0-rc5 has now been tagged.
-
Fangrui Song provided an update on recent binutils / GNU ABI extensions that may affect LLD and LLVM binary utilities.
-
Pavel Labath responded to the RFC on processor trace support in LLDB, kicking off a discussion about handling of multi-process traces.
-
Anastasia Stulova proposes a set of simplifications in the OpenCL extension implementation.
-
Saleem Abdulrasol revived discussion of adding APINotes support to Clang. Gábor Márton gave details on how this could be useful for the Clang Static Analyzer.
-
Nithin Vadukkumchery Rajendrakumar shared an end of project report on the project "Find null smart pointer dereferences with the LLVM-Clang Static Analyzer", done as part of Google Summer of Code.
LLVM commits
-
Support was added for Intel's Key Locker feature. 413577a.
-
RegAllocFast was largely rewritten. 89baeae.
-
A pass to flatten nested loops was added. d53b4be.
-
Coroutines will now reuse storage for local variables with non-overlapping lifetimes. b3a722e.
-
Exception support was added for basic block sections. 8955950.
-
A new
-print-changed
option was added which only prints IR when its been changed. 71124a9. -
A Cortex-R82 CPU definition was added. 8825fec3.
-
The new PrintDetailedRecords TableGen backend (accessible via
--print-detailed-records
) will print all global variables, classes, and records defined in the input .td files. 0c1bb4f8.
Clang commits
-
The new readability-function-cognitive-complexity check can be used to check for functions exceeding a configured Cognitive Complexity limit. ace6440.
-
A trained decision forest model can now be used for clangd code completion. b5f7e9e, a8b55b6.
-
The new
-fprofile-update
option allows the atomicity of profile counter increments to be specified. 3681be87. -
clangd gained support for a new
--check
option that aims to allow easy reproduction of crashes and errors without relying on a particular editor or plugin. 79fbcbff.