[llvm-dev] LLVM Weekly - #158, Jan 9th 2017

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 9 02:51:52 PST 2017


LLVM Weekly - #158, Jan 9th 2017
================================

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

Welcome to the one hundred and fifty-eighth 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

John Regehr has written up a really helpful [tourist's guide to the LLVM
source code](http://blog.regehr.org/archives/1453).

The Alive tool for proving the correctness of peephole optimisations is [now
available
online](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108735.html).

The program for the [LLVM performance workshop at
CGO](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108677.html) has
been announced. It will take place on Saturday February 4th in Austin, Texas.

The next LLVM social in Paris has been
[announced](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108698.html)
for January 17th. It will feature a talk on the interactions between Polly and
other LLVM passes.

Shahar Mike has written up a brief [tutorial on using libclang to parse
C++](http://shaharmike.com/cpp/libclang/).


## On the mailing lists

* Rui Ueyama shares a [major milestone for
LLD](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108668.html). It
has successfully been used to link the entirety of the FreeBSD/amd64 base
system.

* The branch for the upcoming 4.0.0 release will take place [on Thursday the
12th of January](lists.llvm.org/pipermail/llvm-dev/2017-January/108696.html).

* Richard Smith
[proposes](http://lists.llvm.org/pipermail/cfe-dev/2017-January/052066.html)
that Clang should not delete null-pointer checks based on
`__attribute__((nonnull))` on libc functions like memcpy. A
[follow-up](http://lists.llvm.org/pipermail/cfe-dev/2017-January/052068.html)
message provides further justification.

* Davide Italiano has re-summarised and updated his [proposal for fixing
sparse conditional constant propagation in the presence of
undef](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108653.html).

* Alex Denisov has shared some [initial results from a new LLVM-based mutation
testing
tool](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108737.html).

* Sanjoy Das has posted an RFC on [allowing readnone and readonly functions to
throw
exceptions](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108637.html).
There seems to be support for this proposal to separate the concepts of
unwindability and memory effects, though lots of discussion on the details.

* Chandler Carruth has proposed [adding gmock to LLVM's unittest
utilities](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108672.html).
There seems to be support for this so far, and Chandler has [summarised the
remaining details to be
decided](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108740.html).

* Peter Smith has shared an RFC on [supporting range extension thinks in
LLD](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108676.html). As he
helpfully explains, these are code sequences generated to compensate for the
limited range of branch immediate operands. A number of the thread responses
discuss the computational complexity of calculating an optimal thunk
placement.


## LLVM commits

* MetadataLoader will now load metadata lazily. This reduces the link time of
the 'opt' binary with ThinLTO and debug info enabled from 282s to 224s.
[r291027](http://reviews.llvm.org/rL291027).

* The packing of the DwarfDebugLine::Row struct has been optimized from
32-bytes to 24-bytes on 64-bit. [r290931](http://reviews.llvm.org/rL290931).

* The PriorityWorklist in LLVM's ADT library gained support for bulk
insertion. [r290952](http://reviews.llvm.org/rL290952).

* The in-tree copy of googletest has been updated to 1.8.0.
[r291029](http://reviews.llvm.org/rL291029).

* TargetTransformInfo's getAddressComputationCost can now take a scalar
evolution object. This allows TTI to determine whether a given strided access
is complex or not. [r291106](http://reviews.llvm.org/rL291106).

* A new WebAssembly pass has been added which replaces bitcasted function
addresses with wrappers to replace the bitcasts.
[r291315](http://reviews.llvm.org/rL291315).


## Clang commits

* Support for the AVR target was added to Clang.
[r291082](http://reviews.llvm.org/rL291082).

* The `-Wtautological-overlap-compare` warning will now fire in more cases.
[r290920](http://reviews.llvm.org/rL290920).


## Other project commits

* A new benchmark, XSBench was added to the LLVM test suite. This is the first
of what intends to be a series of benchmarks imported from the US Department
of Energy 'proxy' applications.
[r290894](http://reviews.llvm.org/rL290894).

* Support for building libc++ without an ABI library (such as libc++abi) has
been fixed. [r290849](http://reviews.llvm.org/rL290849).

* The libc++ threading support API has been documented.
[r291275](http://reviews.llvm.org/rL291275).

* LLD's `--reproduce` can now produce a .tar archive instead of cpio.
[r291210](http://reviews.llvm.org/rL291210).


More information about the llvm-dev mailing list