[llvm-dev] LLVM Weekly - #312, December 23rd 2019

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Dec 23 06:41:08 PST 2019

LLVM Weekly - #312, December 23rd 2019

If you prefer, you can read a HTML version of this email at

Welcome to the three hundred and twelfth 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 9.0.1-final [has been

EuroLLVM 2020 registration is [now
The [call for papers](https://www.llvm.org/devmtg/2020-04/#cfp) remains open
until Jan 11th. The event itself will take place April 6th-7h in Paris.

As a reminder, the call for papers for the fourth LLVM performance working at
CGO 2020 [is open until January
5th](http://lists.llvm.org/pipermail/llvm-dev/2019-December/137787.html). The
workshop will take place on 23rd Feb in San Diego.

## On the mailing lists

* Florian Hahn kicked off a discussion on [matrix support in
Building on top of the recently added LLVM support for matrix operations, this
would add a new matrix type to clang and a set of builtins to operate.

* Peter Waller started a discussion on [landing flang (previously known as
f18) into the
James Y Knight
his argument for why using a merge commit in this case makes sense, even
though in general we disallow them.

* Johannes Doerfert wrote up an RFC on [encoding more complex information in
The RFC details problems with the current scheme and shares some design ideas.
Johannes has [produced an initial

* Quentin Colombet [provides clear
for a recurring question. Namely how to spill from one register class to
another, when spilling to the stack would be prohibitively expensive.

* There has been discussion on the long-running opaque pointers work this
week. Tim Northover [provides a status updated and RFC on future
and [answers queries in another

* Fangrui Song started a discussion about [adding Python 2 compatibility to
Most people agreed that maintaining Python 2 compatibility for now is useful,
as long as it's not too difficult to do so.

* Bardia Mahour shared [minutes from the loop optimisation working group
meeting on Dec

* Michael Kruse [wrote an RFC on user-directed code transformations with clang
Initial patches have already been uploaded to Phabricator.

* Stephen Kelly made an RFC proposal for [making AST matchers easier to
use](http://lists.llvm.org/pipermail/cfe-dev/2019-December/064142.html). The
key part of this proposal higlighted by Stephen is to change the default
behaviour of AST matchers to ignore invisible nodes.

## LLVM commits

* Initial support was added for aligning branches on x86 within a 32-byte
boundary. This is part of work intended to mitigate performance regressions
from Intel's microcode update for the Jump Conditional Code erratum.

* The necessary hooks to allow the machine outliner to run were written for
RISC-V [a116f28](https://reviews.llvm.org/rGa116f28a0d7).

* BasicBlockUtils gained a new utility to remove redundant dbg.value
instructions. [1c49553](https://reviews.llvm.org/rG1c49553c19a).

* The `update_{llc,cc}_test_checks.py` scripts now have tests.

* The AArch64 backend now supports return address signing for outlined
functions. [df0cc10](https://reviews.llvm.org/rGdf0cc105fa7).

* A per-function TargetLibraryInfo is now used, allowing `-fno-builtin` to be
handled using function attributes.

* The git-llvm script was extended to allow push to GitHub via SSH.

* Constrained intrinsics were added for signed and unsigned conversations of
integers to floating point, as well as llvm.minimum/llvm.maximum.

* A single ldp or sdp will now be generated for a volatile i128 load/store on
AArch64. [364b8f5](https://reviews.llvm.org/rG364b8f5fbe0).

* InstCombine will consider over 1000 iterations as an infinite loop (this can
be configured via a command line option).

## Clang commits

* The Syntax library now allows the mutation of syntax trees.

* The `-fno-temp-file` flag disables the creation of temporary files during

* Concepts development work continues with the addition of support for
constrained partial specializations and functions overloads.

* A support patch was added that clears the way for property-based
serialisation for "cased" types.
[da74c4d](https://reviews.llvm.org/rGda74c4d2d82), and more.

* Deprecation warnings were added for expression forms marked deprecated in
C++20. [4b00299](https://reviews.llvm.org/rG4b002999585).

* The Clang static analyzer now features a checker for handle use in Fuchsia
APIs. [82923c7](https://reviews.llvm.org/rG82923c71efa).

## Other project commits

* An initial prototype of Lua script interpreter support in LLDB was
committed. [2861324](https://reviews.llvm.org/rG2861324208e).

* 64-bit RISC-V support was added to libunwind.

More information about the llvm-dev mailing list