LLVM Weekly - #351, September 21st 2020
Welcome to the three hundred and fifty-first 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 [email protected], or @llvmweekly or @asbradbury on Twitter.
News and articles from around the web
Slides from CppCon 2020 are now available.
If you're considering a round table at the virtual LLVM Dev Meeting, please submit a proposal by September 25th. As well as these scheduled round table discussions, impromptu sessions will also be possible.
On the mailing lists
-
Mitch Philipps started a thread to discuss tagging of globals with Arm's Memory Tagging Extension, and is seeking feedback on the proposed schemes.
-
Walter Erquinigo shared an RFC on processor trace support in LLDB.
-
Tanya Lattner is seeking moderators for the 2020 LLVM Dev Meeting.
-
Arthur Eubanks proposes removing the DeadInstEliminationPass on the basis that DeadCodeEliminationPass is more featureful and DeadInstEliminationPass hasn't been ported to the new pass manager.
-
Artur Pilipenko proposes adding a new requires-statement call attribute to the llvm.memcpy/memmov.element.unordered.atomic calls to make it possible to have a GC safepoint during the copy operation.
LLVM commits
-
Documentation was added on writing passes for the new pass manager. c2590de.
-
An initial constraint elimination pass was added. This pass aims to add a more flexible way to eliminate compares based on more complex constraints collected from dominating conditions. 3d42d54.
-
A sequence of 19 DWARF64 support patches were committed. 380e746, 982b31f, and 17 more.
-
-basic-block-sections=labels
will now emit basic block metadata in a new.bb_addr_map
section. 7841e21. -
The PowerPC backend now supports thread local storage for local exec. c0f199e.
-
update_llc_test_checks
was updated to allow$
in function names. ce0eb81. -
A new IRSimilarityIdentifier analysis was added. 7e4c6fb.
-
The WebAssembly backend gained initial support for dwarf fission. 0ff28fa.
-
The implicit null check transformation is now supported on AArch64. b04c181.
-
The RISC-V backend now supports a shadow call stack. 1c46647.
-
update_cc_test_checks
gained a new--include-generated-funcs
option so that any functions created by the compiler that don't exist in the source will also be checked. 7c8bb40.
Clang commits
-
clang-format gained a new option allowing unknown format options to be tolerated (only giving a warning rather than an error). f64903f.
-
Clang now checks if builtin/library declarations have the correct type and builtin-ness is tracked per declaration using BuiltinAttr. Previously it was simply assumed based on the name; for example incompatible redeclarations in the non-global scope would result in crashes. This work also fixed a long-standing bug where builtins aren't recognized if they aren't directly inside extern "C". Thanks to Raul Tambre for emailing in a summary of this patch. e09107a.
-
A new command line flag was added for the machine function splitter. f1a3ab9.
-
Implicit casts are now supported between GNU and SVE vectors. 9218f92.
-
Initial work has started on a random forest model for code completion in clangd. 9b6765e.