[llvm-dev] LLVM Weekly - #351, September 21st 2020

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 21 10:44:03 PDT 2020


LLVM Weekly - #351, September 21st 2020
=======================================

If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/351>.

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](https://www.linkedin.com/in/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 at asbradbury.org>, or
@llvmweekly or @asbradbury on Twitter.


## News and articles from around the web

Slides from CppCon 2020 are [now
available](https://github.com/CppCon/CppCon2020).

If you're considering a round table at the virtual LLVM Dev Meeting, please
[submit a proposal by September
25th](http://lists.llvm.org/pipermail/llvm-dev/2020-September/145186.html).
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](http://lists.llvm.org/pipermail/llvm-dev/2020-September/145173.html),
and is seeking feedback on the proposed schemes.

* Walter Erquinigo shared an RFC on [processor trace support in
LLDB](http://lists.llvm.org/pipermail/lldb-dev/2020-September/016437.html).

* Tanya Lattner is [seeking
moderators](http://lists.llvm.org/pipermail/llvm-dev/2020-September/145205.html)
for the 2020 LLVM Dev Meeting.

* Arthur Eubanks proposes [removing the
DeadInstEliminationPass](http://lists.llvm.org/pipermail/llvm-dev/2020-September/145187.html)
on the basis that DeadCodeEliminationPass is more featureful and
DeadInstEliminationPass hasn't been ported to the new pass manager.

* Artur Pilipenko
[proposes](http://lists.llvm.org/pipermail/llvm-dev/2020-September/145192.html)
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](https://reviews.llvm.org/rGc2590de30df).

* 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](https://reviews.llvm.org/rG3d42d549554).

* A sequence of 19 DWARF64 support patches were committed.
[380e746](https://reviews.llvm.org/rG380e746bcca),
[982b31f](https://reviews.llvm.org/rG982b31fad29), and 17 more.

* `-basic-block-sections=labels` will now emit basic block metadata in a new
`.bb_addr_map` section. [7841e21](https://reviews.llvm.org/rG7841e21c984).

* The PowerPC backend now supports thread local storage for local exec.
[c0f199e](https://reviews.llvm.org/rGc0f199e5667).

* `update_llc_test_checks` was updated to allow `$` in function names.
[ce0eb81](https://reviews.llvm.org/rGce0eb81c727).

* A new IRSimilarityIdentifier analysis was added.
[7e4c6fb](https://reviews.llvm.org/rG7e4c6fb8546).

* The WebAssembly backend gained initial support for dwarf fission.
[0ff28fa](https://reviews.llvm.org/rG0ff28fa6a75).

* The implicit null check transformation is now supported on AArch64.
[b04c181](https://reviews.llvm.org/rGb04c181ed77).

* The RISC-V backend now supports a shadow call stack.
[1c46647](https://reviews.llvm.org/rG1c466477ad4).

* `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](https://reviews.llvm.org/rG7c8bb409f31).


## Clang commits

* clang-format gained a new option allowing unknown format options to be
tolerated (only giving a warning rather than an error).
[f64903f](https://reviews.llvm.org/rGf64903fd817).

* 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](https://reviews.llvm.org/rGe09107ab80d).

* A new command line flag was added for the machine function splitter.
[f1a3ab9](https://reviews.llvm.org/rGf1a3ab90443).

* Implicit casts are now supported between GNU and SVE vectors.
[9218f92](https://reviews.llvm.org/rG9218f928380).

* Initial work has started on a random forest model for code completion in
clangd. [9b6765e](https://reviews.llvm.org/rG9b6765e784b).


## Other project commits

* Documentation was added on getting involved in Flang.
[fe395ae](https://reviews.llvm.org/rGfe395aecd9e).

* libunwind gained support for leaf function unwinding.
[22b615a](https://reviews.llvm.org/rG22b615a9659).

* LLVM's libc gained an implementation of hypotf.
[f55963d](https://reviews.llvm.org/rGf55963d501e).

* LLD's `--warn-backrefs` was documented.
[f6f3402](https://reviews.llvm.org/rGf6f34024e9a).


More information about the llvm-dev mailing list