[llvm-dev] LLVM Weekly - #316, Jan 20th 2020

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 20 13:30:51 PST 2020


LLVM Weekly - #316, Jan 20th 2020
=================================

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

Welcome to the three hundred and sixteenth 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 10.0 [has now
branched](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138295.html).

The next batch of C++ Standards Committee papers is [now
available](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/#mailing2020-01).

An initial implementation of C++ coroutines [has been pushed to GCC
master](https://gcc.gnu.org/ml/gcc-patches/2020-01/msg01096.html).


## On the mailing lists

* Chris Lattner has [made a proposal on improving decision making in the LLVM
community](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138267.html).
This includes a process for proposing changes and determining what the
decision making body should be for these proposals.

* The merging of f18/flang into the monorepo [has been
postponed](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138418.html).

* Lang Hames has posted [the first of hopefully many ORC JIT weekly
updates](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138395.html).
This initial status update gives highlights from 2019 development and outlines
the plan for 2020.

* Alex Bradbury penned an RFC on [upstream support for yet-to-be-ratified
RISC-V
extensions](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138364.html),
such as the in-development bit manipulation and vector instruction set
extensions. The proposal is to accept patches for these upstream in order to
reduce duplicated effort and encourage collaboration, but to guard enabling of
these extensions by a suitable unappetising flag.

* Sriraman Tallam [shares an update on the Propeller post-link optimisation
framework](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138426.html).

* Sam Elliott shared the [current plan for supporting LTO for RISC-V and
encoding target-abi into module
flags](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138450.html).

* Ondrej Sykora proposes [implementing the recently published BHive
methodolgoy for for benchmarking basic blocks in
llvm-exegesis](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138360.html).

* The thread on moving from Phabricator to GitHub PRs saw a huge volume of new
comments in the last week, starting with e.g. [this
one](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138226.html).
Sadly, I don't have time to summarise - apologies.

* Chris Lattner [fed
back](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138178.html) on
the discussion started last week about new approaches for loop transformations
in LLVM.


## LLVM commits

* TableGen now supports a `defvar` statement as well as `if/then/else`.
[3388b0f](https://reviews.llvm.org/rG3388b0f59dc),
[ddbc0b1](https://reviews.llvm.org/rGddbc0b1e516).

* Most target symbols are now hidden by default, reducing the number of public
symbols in libLLVM.so by 25%.
[0dbcb36](https://reviews.llvm.org/rG0dbcb363945).

* The TLS size can now be selected in the local exec TLS model.
[10c11e4](https://reviews.llvm.org/rG10c11e4e2d0).

* Shrink wrapping is now enabled for RISC-V.
[cd800f3](https://reviews.llvm.org/rGcd800f3b226).

* The MergeFunctions pass was ported to the new pass manager.
[4103318](https://reviews.llvm.org/rG410331869de).

* Support for a new `-x86-branches-within-32B-boundaries` flag was committed.
[1a7398e](https://reviews.llvm.org/rG1a7398eca20).

* The NEC Vector Engine backend now has minimal codegen for simple functions.
[064859b](https://reviews.llvm.org/rG064859bde79),
[773ae62](https://reviews.llvm.org/rG773ae62ff85).

* AArch64 memory tagging instructions will now be merged with adjacent stack
slots. [d081962](https://reviews.llvm.org/rGd081962dead).


## Clang commits

* C++ concepts implementation continues with support for type constraints in
template type parameters and for requires expressions.
[ff1e0fc](https://reviews.llvm.org/rGff1e0fce817),
[0279318](https://reviews.llvm.org/rG02793189976).

* The new `readability-qualified-auto` clang-tidy check will add an asterisk
and (if appropriate) `const` to auto variables deduced to a pointer or const
pointer. [36fcbb8](https://reviews.llvm.org/rG36fcbb838c8).

* Clang will now re-use the calling process instead of creating a new process
for the cc1 invocation. [b4a99a0](https://reviews.llvm.org/rGb4a99a061f5).

* GCC's VectorType conditional operator extension was implemented.
[349636d](https://reviews.llvm.org/rG349636d2bfc).


## Other project commits

* Initial memory tagging support was added for the scudo secure memory
allocator. [c299d19](https://reviews.llvm.org/rGc299d1981de).

* LLD gained support for `-z force-ibt` and `-z shstk` for Intel's
Control-flow Enforcement Technology.
[7cd429f](https://reviews.llvm.org/rG7cd429f27d4).

* The use of gtest in LLVM's libc was removed in favour of a new light-weight
and minimal dependency framework.
[c7453fa](https://reviews.llvm.org/rGc7453fad062).

* libcxx gained optimisations for `basic_string::operator=(const
basic_string&)` and the `basic_string` copy constructor.
[58c7fa5](https://reviews.llvm.org/rG58c7fa5adeb),
[a8a9c8e](https://reviews.llvm.org/rGa8a9c8e0a11).

* MLIR now supports the SPIR-V conversion target.
[47c6ab2](https://reviews.llvm.org/rG47c6ab2b977).


More information about the llvm-dev mailing list