[llvm-dev] LLVM Weekly - #374, March 1st 2021

Alex Bradbury via llvm-dev
Mon, 01 Mar 2021 18:04:20 -0000

LLVM Weekly - #374, March 1st 2021
=================================
If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/374>.

Welcome to the three hundred and seventy-fourth 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

Registration for the Community.o summit [has been
extended](https://lists.llvm.org/pipermail/llvm-dev/2021-February/148864.html).
The event will take place March 8-10th and the [agenda has now been
published](https://llvm.swoogo.com/community-o-summit/agenda).

On the ACM Sigplan blog, Yotam Feldman and Mooly Sagiv [shared their
"backwards" compilers course
structure](https://blog.sigplan.org/2021/02/23/teaching-compilers-backward/)
and the advantages and challenges of this approach.

Rui Ueyama has started the [mold](https://github.com/rui314/mold) linker with
the goal of being able to link a full debuginfo Chromium executable in 1
second (vs 12 seconds for LLD on the same machine). The project also
[generated discussion on Hacker
News](https://news.ycombinator.com/item?id=26233244). Note the disclaimer
"Note that even though mold can create a runnable Chrome executable, it is
far
from complete and not usable for production. mold is still just a toy linker,
and this is still just my pet project."


## On the mailing lists

* Paul Robinson wrote a [detailed note on the "Rotten Green Tests"
project](https://lists.llvm.org/pipermail/llvm-dev/2021-February/148842.html).
This aims to identify test assertions that aren't actually executed (e.g.
due
to a mistake in the test).

* Denis Bakhvalov kicked off a discussion on [potential drivers for compiler
performance improvement in the
future](https://lists.llvm.org/pipermail/llvm-dev/2021-February/148729.html).
Stefanos Baziotis provided some [useful
pointers](https://lists.llvm.org/pipermail/llvm-dev/2021-February/148731.html).

* Braden N is [seeking advice on register allocation strategy for the Parallax
Propeller
2](https://lists.llvm.org/pipermail/llvm-dev/2021-February/148739.html).

* Jan Svoboda posted an [update on the RFC for generating the cc1 commandline
from
CompilerInvocation](https://lists.llvm.org/pipermail/cfe-dev/2021-February/067714.html),
linking to patches that are now posted for review.

* LLVM 12.0.0-rc2 [has been
tagged](https://lists.llvm.org/pipermail/llvm-dev/2021-February/148758.html).


## LLVM commits

* JITLink gained an extensive design and API document.
[93c8246](https://reviews.llvm.org/rG93c8246952d0).

* lit gained an `--ignore-fail` option.
[2a5aa81](https://reviews.llvm.org/rG2a5aa81739d3).

* Reassociation of min/max is now supported.
[83d134c](https://reviews.llvm.org/rG83d134c3c422).

* Documentation was added for using the new pass manager.
[016f0ee](https://reviews.llvm.org/rG016f0ee68621).

* A range of RISC-V vector improvements were made, such as support for
insertion of misaliagned subvectors, use of VSETIVLI where possible, and
additional fixed-length vector support.
[dd68f3c](https://reviews.llvm.org/rGdd68f3cf2899),
[efcdd59](https://reviews.llvm.org/rGefcdd598b766),
[3bc5ed3](https://reviews.llvm.org/rG3bc5ed38750c).


## Clang commits

* A design document was added for the Clang recovery AST.
[77a8589](https://reviews.llvm.org/rG77a8589e5d2f).

* Support was added for the `retain` attribute.
[8afdacb](https://reviews.llvm.org/rG8afdacba9dcd).

* libAnalysis gained MacroExpansionContext which aims to track the expansion
of macros in a translation unit.
[6e30710](https://reviews.llvm.org/rG6e3071007b4c).

* AArch64 SHA3 intrinsics were added.
[2c25efc](https://reviews.llvm.org/rG2c25efcbd322).

* A new `-fsanitize-address-destructor-kind=` driver and frontend option was
added, allowing control of how module destructors are emitted by ASan.
[5d64dd8](https://reviews.llvm.org/rG5d64dd8e3c22).


## Other project commits

* A 'debug action' framework was added to MLIR, allowing external
entities to
control aspects of compiler execution. It was used to implement DebugCounters.
[72d5afa](https://reviews.llvm.org/rG72d5afa4acc3),
[dc6a84f](https://reviews.llvm.org/rGdc6a84fce617).

* LLVM's libc gained a standalone equivalent of `std::string_view`.
[dbb131d](https://reviews.llvm.org/rGdbb131d53aac).