[llvm-dev] LLVM Weekly - #169, Mar 27th 2017

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Mar 27 03:49:45 PDT 2017


LLVM Weekly - #169, Mar 27th 2017
=================================

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

Welcome to the one hundred and sixty-ninth 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.

Unfortunately I wasn't able to make it to EuroLLVM this year - I'm looking
forward to videos, slides, and reports from the event!


## News and articles from around the web

LLVM is taking part in Google Summer of Code again this year and [applications
are now
open](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111330.html). You
might also be interested in submitting a proposal for
[lowRISC](http://www.lowrisc.org/docs/gsoc-2017-ideas/).

Herb Sutter has written up a [trip report from the Kona ISO C++ standards
meeting](https://herbsutter.com/2017/03/24/trip-report-winter-iso-c-standards-meeting-kona-c17-is-complete/).
The big news from this meeting was obviously that C++17 has now been submitted
for ISO approval.

[clang-expand](https://github.com/goldsborough/clang-expand) is a command-line
tool that will intelligently "expand" a given function into the current scope.
It provides its output in JSON, and offers a sample editor integration.


## On the mailing lists

* Reid Kleckner has proposed an [RFC on overhauling the LLVM attribute
APIs](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111326.html).

* Rui Ueyama
[proposes](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111459.html)
improving the readability of LLD error messages, making the more informative
and easy to read. As you might expect, the idea is popular.

* Vedant Kumar has produced a
[proposal](http://lists.llvm.org/pipermail/cfe-dev/2017-March/053281.html) for
supporting some UBSan issues at compile-time rather than runtime.

* Ben Craig has shared an [RFC on adding support for using libc++ in Windows
kernel code](http://lists.llvm.org/pipermail/cfe-dev/2017-March/053313.html).

* Manuel Rigger
[notes](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111371.html) that
currently Clang -O0 will perform some optimisations that make life harder for
bug finding tools like ASan or Valgrind. As Daniel Berlin [points
out](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111379.html), there
are cases where at least some optimisations must be applied for correctness.

* Kristof Beyls is [collecting
input](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111307.html) for
the birds of a feather session on GlobalISel at EuroLLVM this week.


## LLVM commits

* The compile time overhead for the MachineOutliner has been massively
reduced, with the worst compile time increase in the LLVM test suite now being
22%. [r298648](http://reviews.llvm.org/rL298648).

* A LazyValueInfo printer pass has been added, which will be useful for
debugging. [r298542](http://reviews.llvm.org/rL298542).

* Extensive generated tests for PPC atomic operations have been added.
[r298614](http://reviews.llvm.org/rL298614).

* The global instruction selector will no longer select trivially dead
instructions. [r298224](http://reviews.llvm.org/rL298224).

* The AMDGPU backend gained an SDWA (Sub-DWORD Addressing) peephole
optimisation pass. [r298365](http://reviews.llvm.org/rL298365).

* The @llvm.objectsize intrinsic was extended with a new parameter, indicating
whether it should act conservatively with null pointers.
[r298430](http://reviews.llvm.org/rL298430).

* DataLayout::getAlignmentInfo was modified to use a binary search rather than
linear scan. [r298579](http://reviews.llvm.org/rL298579).

* A new stable-merge-request.sh script has been added. This will create a
stable merge request bug in bugzilla for the given SVN revision and release
number. [r298705](http://reviews.llvm.org/rL298705).


## Clang commits

* A new design proposal has been committed for backward-edge control-flow
integrity for return statements. [r298303](http://reviews.llvm.org/rL298303).

* A new attribute was added to distinguish between extensible and inextensible
enums. [r298332](http://reviews.llvm.org/rL298332).

* The `-fno-auto-profile` and `-fno-profile-sample-use` command line options
were added. [r298446](http://reviews.llvm.org/rL298446).

* Code generation for coroutine await and yield expressions was implemented.
[r298784](http://reviews.llvm.org/rL298784).


## Other project commits

* C++17 std::byte has been implemented in libcxx.
[r298689](http://reviews.llvm.org/rL298689).

* The string "compatible with GNU linkers" has been added to the output of
`ld.lld -version`. This should improve compatibility with libtool.
[r298532](http://reviews.llvm.org/rL298532).

* Tests for the compiler-rt builtins have been updated to work with lit.
[r298339](http://reviews.llvm.org/rL298339),
[r298714](http://reviews.llvm.org/rL298714).

* The libcxx vector::clear implementation has been tweaked, resulting in
substantially better code generation.
[r298601](http://reviews.llvm.org/rL298601).


More information about the llvm-dev mailing list