[llvm-dev] LLVM Weekly - #285, June 17th 2019

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 17 11:37:31 PDT 2019


LLVM Weekly - #285, June 17th 2019
==================================

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

Welcome to the two hundred and eighty-fifth 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 8.0.1-rc2 [has been
tagged](http://lists.llvm.org/pipermail/llvm-dev/2019-June/132945.html).

The 7th HelloLLVM/HelloGCC social in China will [take
place](http://lists.llvm.org/pipermail/llvm-dev/2019-June/132971.html) on June
22 in Shanghai.

The OpenMandriva Lx 4.0 Linux distribution has [been
released](https://www.openmandriva.org/en/news/article/the-best-until-openmandriva-does-better-released-omlx-4-0).
Notably, this distribution is (mostly) compiled with Clang/LLVM.


## On the mailing lists

* Eli Friedman
[shares](http://lists.llvm.org/pipermail/llvm-dev/2019-June/133092.html) a
proposed change to the IR semantics: that constant expressions should never
have undefined behaviour. Chris Lattner
[wonders](http://lists.llvm.org/pipermail/llvm-dev/2019-June/133093.html) if
anyone might be interested in removing all trapping operators for constants.

* Much more discussion was generated on the proposal to prefer 'int' for
regular arithmetic - too much for me to reasonably summarise, but you might
want to check out [Chandler Carruth's
response](http://lists.llvm.org/pipermail/llvm-dev/2019-June/133023.html).

* Jessica Paquette [shared an
RFC](http://lists.llvm.org/pipermail/llvm-dev/2019-June/133060.html) on an
optimisation remarks based code size analysis tool

* Francesco Petrogalli has [rewritten his
proposal](http://lists.llvm.org/pipermail/llvm-dev/2019-June/132987.html) for
interfacing user-provided vector functions.

* Nicolai Hähnle-Montoro is [seeking
feedback](http://lists.llvm.org/pipermail/llvm-dev/2019-June/132973.html) on
expressing preserved-relations between passes from different modules.

* Qing Shan Zhang has written patches to allow scheduling state to be
forwarded across machine basic blocks (where there is a single predecessor)
and is [looking for
reviews](http://lists.llvm.org/pipermail/llvm-dev/2019-June/133113.html).


## LLVM commits

* The ValueTracking analysis gained a helpful clarifying comment, explaining
that branching off poison isn't undefined behaviour, but executing a side
effecting instruction following that branch would be. The LangRef was also
expanded with new clarifications on poison.
[r363318](https://reviews.llvm.org/rL363318),
[r363320](https://reviews.llvm.org/rL363320).

* MachineBlockPlacement learnt to move a latch block with conditional exit and
multiple predecessors to the top of the loop.
[r363471](https://reviews.llvm.org/rL363471).

* MC layer support was added for the new non-MVE Arm v8.1-M instructions.
[r363059](https://reviews.llvm.org/rL363059).

* The semantics for fadd/fmul vector reductions were changed.
[r363035](https://reviews.llvm.org/rL363035).

* The RISC-V backend gained support for lowering I,J,K inline asm constraints
and for PIC addressing sequences.
[r363054](https://reviews.llvm.org/rL363054),
[r363058](https://reviews.llvm.org/rL363058).

* The AArch64 backend now merges globals by default when optimising for size.
[r363130](https://reviews.llvm.org/rL363130).

* The RISC-V, Mips, and SystemZ backends can now be build using the gn build
system.[r363154](https://reviews.llvm.org/rL363154),
[r363159](https://reviews.llvm.org/rL363159),
[r363170](https://reviews.llvm.org/rL363170).


## Clang commits


* The SSE2 intrinsics were ported to PowerPC using Altivec.
[r363122](https://reviews.llvm.org/rL363122).

* Lexing, parsing, and basic semantics were aded for the C++20 consteval
specifier. [r363362](https://reviews.llvm.org/rL363362).


## Other project commits

* Documentation describing the new libcxx policy for handling experimental
features was committed. [r363072](https://reviews.llvm.org/rL363072).

* Documentation was added to libcxx on Clang's C++11 extensions in C++03, and
G++03 was officially marked as unsupported with libc++.
[r363110](https://reviews.llvm.org/rL363110),
[r363219](https://reviews.llvm.org/rL363219).


More information about the llvm-dev mailing list