[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
proposed change to the IR semantics: that constant expressions should never
have undefined behaviour. Chris Lattner
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
interfacing user-provided vector functions.
* Nicolai Hähnle-Montoro is [seeking
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
## 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