[llvm-dev] LLVM Weekly - #364, December 21st 2020

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Dec 21 11:34:45 PST 2020


LLVM Weekly - #364, December 21st 2020
======================================

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

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

LLVM is currently celebrating its 20th anniversary. This [twitter
thread](https://twitter.com/llvmorg/status/1338582527766896650) collects a
range of shared experiences and celebratory notes.

PoCL (an implementation of the OpenCL standard) v1.6 [has been
released](http://lists.llvm.org/pipermail/llvm-dev/2020-December/147406.html).
This release adds support for LLVM 11 and PowerPC, amongst other changes.
OpenASIP v1.22 has [also been
released](http://lists.llvm.org/pipermail/llvm-dev/2020-December/147449.html),
adding initial support for 64-bit processors.

The C++20 standard [has been
published](https://www.iso.org/standard/79358.html).


## On the mailing lists

* LLVM 11.0.1-rc2 [has been
tagged](http://lists.llvm.org/pipermail/llvm-dev/2020-December/147454.html).

* Serge Guelton asked [if there were any objections to finalising the Python 3
transition](http://lists.llvm.org/pipermail/llvm-dev/2020-December/147372.html).
The linked patch hasn't yet been committed so it hasn't happened yet.

* Nicolai Hähnle has shared a [proposal for abstracting over SSA form IRs to
implement generic
analyses](http://lists.llvm.org/pipermail/llvm-dev/2020-December/147433.html).
This builds on a previous proposal that generated substantial discussion.

* Simon Moll shared an RFC on [allowing arbitrary intrinsics to have a
non-default floating point
environment](http://lists.llvm.org/pipermail/llvm-dev/2020-December/147429.html).


## LLVM commits

* A new cost metric was introduced to the inliner that can be enabled with a
flag. For a hot call site, it will inline if the ratio of cycle savings to
size exceeds a threshold. [9895c70](https://reviews.llvm.org/rG9895c7012d61).

* Additional hardening was added to indirect calls for the straight line
speculation vulnerability on Arm.
[a4c1f51](https://reviews.llvm.org/rGa4c1f5160e6d).

* LoopStrengthReduce's preservation of debug information was improved.
[2a6782b](https://reviews.llvm.org/rG2a6782bb9f1d).

* A DOT printer was added for LLVM's data dependence graph.
[6eff127](https://reviews.llvm.org/rG6eff12788ee8).

* A mir-check-debug pass was introduced to check MIR-level debug info.
[39584ae](https://reviews.llvm.org/rG39584ae5b5cb).

* Additional RISC-V vector support patches were added, for instance for
vadd/vsub/vrsub/vwadd/vwaddu/vwsub/vwsubu intrinsics, and many more
[a6805a0](https://reviews.llvm.org/rGa6805a0e02c9),
[db48a6d](https://reviews.llvm.org/rGdb48a6de7702),
[19db6a6](https://reviews.llvm.org/rG19db6a652b88).
[95795e7](https://reviews.llvm.org/rG95795e7a65a7).

* The VE backend gained support for atomic exchange instructions.
[a2eb07a](https://reviews.llvm.org/rGa2eb07aa5540).

* A new SplitBasicBlockBefore helper was implemented.
[2a814cd](https://reviews.llvm.org/rG2a814cd9e1e8).

* The sample profile loader can now consume pseudo-probe-based sample counts.
[ac068e0](https://reviews.llvm.org/rGac068e014b22).

* LLVM can now be built with a compiler in C++20 mode.
[9231045](https://reviews.llvm.org/rG92310454bf0f).

* Basic definitions were added for the AArch64 v8.7-A architecture.
[42b92b3](https://reviews.llvm.org/rG42b92b31b8b8).

* Intrinsics were added for saturating float to int casts.
[a89d751](https://reviews.llvm.org/rGa89d751fb401).

* FileCheck now supports directive modifiers. e.g. `CHECK{LITERAL}` will
perform a literal match, ignoring regex or variable capture syntax.
[44f399c](https://reviews.llvm.org/rG44f399ccc12e).


## Clang commits

* The baremetal toolchain driver now supports multilibs.
[670686a](https://reviews.llvm.org/rG670686ad8ecc).

* An assume function attribute was introduced, providing a way to provide
arbitrary additional information to the optimiser.
[b9c7754](https://reviews.llvm.org/rGb9c77542e237).


## Other project commits

* LLVM libc's memory function benchmark was reworked to support two modes:
sweep and distribution. [deae7e9](https://reviews.llvm.org/rGdeae7e982a3b).

* An ArmSVE MLIR dialect was introduced.
[aece4e2](https://reviews.llvm.org/rGaece4e2793cc).

* The flang driver now supports `-fsyntax-only`.
[7d246cb](https://reviews.llvm.org/rG7d246cb19db9).


More information about the llvm-dev mailing list