[llvm-dev] LLVM Weekly - #148, Oct 31st 2016

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 31 08:46:54 PDT 2016


LLVM Weekly - #148, Oct 31st 2016
=================================

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

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

I've been at the Google Summer of Code Mentor Summit this weekend, and am
staying in the Bay Area for the LLVM Developers' Meeting on Thursday and
Friday. I look forward to meeting many of you there.


## News and articles from around the web

The agenda for the LLVM in HPC Workshop is [now
available](http://lists.llvm.org/pipermail/llvm-dev/2016-October/106447.html).

Tom Stellard has shared the proposed [released schedule for LLVM/Clang
3.9.1](http://lists.llvm.org/pipermail/llvm-dev/2016-October/106591.html).


## On the mailing lists

* More threads have been posted in preparation for Birds of a Feather
discussions at this week's LLVM Dev Meeting. These include [debug info for
optimised
code](http://lists.llvm.org/pipermail/llvm-dev/2016-October/106646.html),
[enhancing LLVM's floating point exception and rounding
support](http://lists.llvm.org/pipermail/llvm-dev/2016-October/106557.html),
and [raising the next generation of LLVM
developers](http://lists.llvm.org/pipermail/llvm-dev/2016-October/106658.html).

* Matthias Braun started a thread on [understanding and cleaning up machine
instruction
bundles](http://lists.llvm.org/pipermail/llvm-dev/2016-October/106553.html).
* Peter Smith has given a [handy status update for LLD on
ARM](http://lists.llvm.org/pipermail/llvm-dev/2016-October/106641.html).

* Peter Collingbourne has kicked off a number of RFC threads. [PointerType
should derive from Type rather than
SequentialType](http://lists.llvm.org/pipermail/llvm-dev/2016-October/106640.html),
[moving block info block
state](http://lists.llvm.org/pipermail/llvm-dev/2016-October/106630.html),
[APIs for bitcode files containing multiple
modules](http://lists.llvm.org/pipermail/llvm-dev/2016-October/106492.html),
[removing the DataStreamer and MemoryObject
interfaces](http://lists.llvm.org/pipermail/llvm-dev/2016-October/106595.html),
and finally [a more detailed design for ThinLTO and vcall
CFI](http://lists.llvm.org/pipermail/llvm-dev/2016-October/106490.html).

* Dehao Chen has started an RFC on [retaining profile accuracy in the face of
code
duplication](http://lists.llvm.org/pipermail/llvm-dev/2016-October/106532.html).

* A question about the purpose of LLVM IR evolved in to a [discussion about a
potential future GSoC project to provide an API to make it easier to handle
ABI details in LLVM
IR](http://lists.llvm.org/pipermail/llvm-dev/2016-October/106611.html).

* Nicolai Hähnle shared an RFC on [convergent and 'co-convergent'
functions](http://lists.llvm.org/pipermail/llvm-dev/2016-October/106431.html).
He describes how extra IR attributes would allow profitable transformations
for an SPMD/SIMT backend.


## LLVM commits

* Various methods in TargetLoweringObjectFile now take a GlobalObject rather
than a GlobalValue. Those of you maintaining out-of-tree backends will want to
make a matching change when updating.
[r285006](http://reviews.llvm.org/rL285006).

* The LLVM Programmer's Manual gained much more documentation on the `Error`
class. [r285122](http://reviews.llvm.org/rL285122).

* Support has been added for AArch64 ILP32 relocations.
[r284973](http://reviews.llvm.org/rL284973).

* The llvm-cov tool gained support for loading coverage from multiple objects.
[r285088](http://reviews.llvm.org/rL285088).

* Support was added for a `-strip-nonlinetable-debuginfo` option. This strips
all debug info metadata that isn't directly needed for line tables.
[r285094](http://reviews.llvm.org/rL285094).

* The llvm-xray tool has been started, initially supporting `llvm-xray
extract` which turns the XRay instrumentation map from an object file into
YAML. [r285165](http://reviews.llvm.org/rL285165).

* The AVR machine code emitter was added along with AVRISelDAGToDAG.
[r285269](http://reviews.llvm.org/rL285269),
[r285270](http://reviews.llvm.org/rL285270).


## Clang commits

* Documentation was added describing the components of a complete toolchain
including Clang. [r285341](http://reviews.llvm.org/rL285341).

* A StdLibraryFunctionsChecker was added, but rather than producing reports to
the end-user this checker aims to improve the performance of analysis by
helping to reduce time spent on paths that can be determined to be infeasible
with standard library functions modelled.
[r284960](http://reviews.llvm.org/rL284960).

* `__builtin_os_log_format` was added.
[r285019](http://reviews.llvm.org/rL285019).


## Other project commits

* The StreamExecutor project has seen a simplified redesign and a renaming to
Acxxel. [r285111](http://reviews.llvm.org/rL285111),
[r285115](http://reviews.llvm.org/rL285115).

* libcxx's std::filesystem::path iterators and parser have been rewritten for
performance. [r285526](http://reviews.llvm.org/rL285526),
[r285530](http://reviews.llvm.org/rL285530).


More information about the llvm-dev mailing list