[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

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

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
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

* 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

## 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.

* MachineBlockPlacement learnt to move a latch block with conditional exit and
multiple predecessors to the top of the loop.

* MC layer support was added for the new non-MVE Arm v8.1-M instructions.

* The semantics for fadd/fmul vector reductions were changed.

* The RISC-V backend gained support for lowering I,J,K inline asm constraints
and for PIC addressing sequences.

* The AArch64 backend now merges globals by default when optimising for size.

* The RISC-V, Mips, and SystemZ backends can now be build using the gn build

## Clang commits

* The SSE2 intrinsics were ported to PowerPC using Altivec.

* 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++.

More information about the llvm-dev mailing list