[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

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

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
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

## 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

* 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
that Clang should not delete null-pointer checks based on
`__attribute__((nonnull))` on libc functions like memcpy. A
message provides further justification.

* Davide Italiano has re-summarised and updated his [proposal for fixing
sparse conditional constant propagation in the presence of

* Alex Denisov has shared some [initial results from a new LLVM-based mutation

* Sanjoy Das has posted an RFC on [allowing readnone and readonly functions to
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
There seems to be support for this so far, and Chandler has [summarised the
remaining details to be

* 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

## 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.

* 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.

* 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.

## Clang commits

* Support for the AVR target was added to Clang.

* The `-Wtautological-overlap-compare` warning will now fire in more cases.

## 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.

* 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.

* LLD's `--reproduce` can now produce a .tar archive instead of cpio.

More information about the llvm-dev mailing list