[llvm-dev] LLVM Weekly - #185, Jul 17th 2017

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jul 17 11:18:32 PDT 2017


LLVM Weekly - #185, Jul 17th 2017
=================================

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

Welcome to the one 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](http://asbradbury.org). 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

Codeplay and Google have
[released](https://www.codeplay.com/portal/07-14-17-codeplay-release-clspv-an-opencl-tool-for-vulkan-enabled-devices)
clspv, a compiler from a subset of OpenCL to Vulkan compute shaders.

A C++ standards meeting has just taken place in Toronto. Herb Sutter already
has a [trip
report](https://herbsutter.com/2017/07/15/trip-report-summer-iso-c-standards-meeting-toronto/)
online. Michael Wong earlier [shared some pre-meeting
thoughts](https://www.codeplay.com/portal/10-06-17-whats-in-cpp-20-and-cpp17-final-score-card).


## On the mailing lists

* Sanjay Patel kicked off a [discussion on adding further optimisations to
InstCombine](http://lists.llvm.org/pipermail/llvm-dev/2017-July/115398.html).
This led to an interesting debate on how to handle these sorts of
optimisations in LLVM, and whether LLVM can be doing something more principled
and scalable.

* Dylan McKay shared an [RFC on supporting Harvard
architectures](http://lists.llvm.org/pipermail/llvm-dev/2017-July/115245.html).
In this case, the motivation is for the in-tree AVR backend. A number of
maintainers of out-of-tree backends for Harvard architectures dropped by with
some useful input.

* George Karpenkov has [updated the
list](http://lists.llvm.org/pipermail/llvm-dev/2017-July/115299.html) on
efforts to move libFuzzer to compiler-rt. As later replies point out, sorting
out the licensing change is one barrier that remains to be sorted.

* Takumi Nakamura shares numbers on [build-time improvements for building with
`LLVM_ENABLE_MODULES`](http://lists.llvm.org/pipermail/llvm-dev/2017-July/115208.html).

* LLVM 5.0.0 [will branch on Wednesday 19th
July](http://lists.llvm.org/pipermail/llvm-dev/2017-July/115307.html).


## LLVM commits

* The Sandy Bridge scheduling information has been completedly replaced with a
more accurate model. [r307529](http://reviews.llvm.org/rL307529).

* The X86 backend now has a CMOV conversion patch which will convert a CMOV to
a branch if it is deemed likely to be profitable.
[r308142](http://reviews.llvm.org/rL308142).

* Memory usage of llvm-profdata on large profiles has been reduced
substantially. [r307516](http://reviews.llvm.org/rL307516),
[r307608](http://reviews.llvm.org/rL307608).

* The representation of synchronization scopes has been enhanced. The
syncscope annotation is now used rather than 'singlethread'.
[r307722](http://reviews.llvm.org/rL30772).

* Element-atomic memmove and memset intrinsics have been introduced.
[r307796](http://reviews.llvm.org/rL307796),
[r307854](http://reviews.llvm.org/rL307854).

* The loop interchange pass gained optimization remarks.
[r308094](http://reviews.llvm.org/rL308094).


## Clang commits

* The @available attribute has been documented.
[r308044](http://reviews.llvm.org/rL308044).

* The Clang C++ status page has been updated with items from the Toronto WG21
meeting. [r308099](http://reviews.llvm.org/rL308099).

* The `-std=c++2a` command-line option has been added to enable potential
C++2a features. [r308118](http://reviews.llvm.org/rL308118).

* bugprone-undefined-memory-manipulation and bugprone-suspicious-memset-usage
checks have been added. The former warns on memset/memmove/memcpy on objects
that aren't trivially copyable while the latter warns on common erroneous
memset arguments. [r308020](http://reviews.llvm.org/rL308020),
[r308021](http://reviews.llvm.org/rL308021).


## Other project commits

* The PRNG for the scudo memory allocator has been rewritten.
[r307798](http://reviews.llvm.org/rL307798).

* The libc++ status page has been updated after the Toronto C++ meeting.
[r308153](http://reviews.llvm.org/rL308153).


More information about the llvm-dev mailing list