[llvm-dev] LLVM Weekly - #283, June 3rd 2019

Alex Bradbury via llvm-dev
2019-06-03T18:55:55Z

LLVM Weekly - #283, June 3rd 2019
================================
If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/283>.

Welcome to the two hundred and eighty-third 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

I didn't spot anything in particular. If you think I missed something, feel
free to drop me tips for next week.


## On the mailing lists

* Francesco Petrogalli [shared an
RFC](http://lists.llvm.org/pipermail/llvm-dev/2019-May/132615.html) on
exposing user-provided vector functions for auto-vectorisation, which
generated lots of discussion.

* Michael Kruse, Bardia Mahjour, Hal Finkel, and Johannes Doerfert are
[forming](http://lists.llvm.org/pipermail/llvm-dev/2019-May/132658.html) a
loop optimisation working group, and share a [doodle
poll](https://doodle.com/poll/7xnkrkmap4dkxwyx) for anyone interested in
taking part in weekly or bi-weekly calls.

* Kit Barton
[proposes](http://lists.llvm.org/pipermail/llvm-dev/2019-May/132607.html)
making loops guards part of the canonical loop structure.

* Oliver Giroux
[proposes](http://lists.llvm.org/pipermail/libcxx-dev/2019-May/000396.html) an
approach for `std::atomic_wait` for libcxx.

* On an architecture with a status register, how to optimise compare
instructions where the status register already has the right condition? [Eli
Friedman explains two
options](http://lists.llvm.org/pipermail/llvm-dev/2019-June/132748.html).

* Melanie Blower is [seeking
feedback](http://lists.llvm.org/pipermail/llvm-dev/2019-May/132642.html) on
Intel's plans to submit patches to support `-fp-model=` and
`-fp-speculation=`.

* The recent thread on [removing magic numbers assuming 8-bit
bytes](http://lists.llvm.org/pipermail/llvm-dev/2019-May/132080.html)
generated substantial discussion. Many thanks to Quentin Neill for sending in
a list of key posts:
    * The standards vs. language vs. frontend vs. backend interplay:
    <http://lists.llvm.org/pipermail/llvm-dev/2019-May/132088.html>
    * Give and take of upstreaming new stuff vs. maintenance vs.acceptance:
    <http://lists.llvm.org/pipermail/llvm-dev/2019-May/132221.html>
    * Out of tree maintenance:
    <http://lists.llvm.org/pipermail/llvm-dev/2019-May/132293.html>
    * The community "discussion model"
    <http://lists.llvm.org/pipermail/llvm-dev/2019-May/132565.html>
    * Community objections:
    <http://lists.llvm.org/pipermail/llvm-dev/2019-May/132331.html>
    * Resolving objections:
    <http://lists.llvm.org/pipermail/llvm-dev/2019-May/132333.html>


## LLVM commits

* It's been in discussion for a long time, but a scalable vector IR type has
now been added! [r361953](https://reviews.llvm.org/rL361953).

* A (for now) optional type was added to `byval` function parameters in order
to prepare the way for opaque pointer types.
[r362128](https://reviews.llvm.org/rL362128).

* The ARM fp-only-sp and d16 options were replaced with fp64 and d32. Each
subtargetfeature for an FP architecture now comes with different variants for
combinations of these options.[r361845](https://reviews.llvm.org/rL361485).

* New `ISD::LRINT` and `ISD::LLRINT` SelectionDAG nodes were added along with
new intrinsics. [r361875](https://reviews.llvm.org/rL361875).

* An llvm-lipo tool was started, aiming to be a drop-in replacement for the
lipo tool for manipulating universal binaries.
[r361896](https://reviews.llvm.org/rL361896).

* MC layer support for more AArch64 SVE2 instructions is being added.
[r361933](https://reviews.llvm.org/rL361933), and many more.

* MC layer support for the new x86 'ENQCMD' instructions was added.
[r362053](https://reviews.llvm.org/rL362053).

* The AsmMatcher now allows repeated input operands if there's a custom
converter. [r362066](https://reviews.llvm.org/rL362066).


## Clang commits

* SSE intrinsics have been ported to PowerPC using Altivec.
[r362190](https://reviews.llvm.org/rL362190).

* clangd gained support for outputting a "structured response for
Hover",
which can be rendered by the client as it needs.
[r361803](https://reviews.llvm.org/rL361803).


## Other project commits

* Documentation was added for LLD's planned partitioning feature.
[r361923](https://reviews.llvm.org/rL361923).

* libcxx was updated to support the recently added ELF dependent libraries
feature. [r362048](https://reviews.llvm.org/rL362048).