[llvm-dev] LLVM Weekly - #130, Jun 27th 2016

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 27 07:51:26 PDT 2016


LLVM Weekly - #130, Jun 27th 2016
=================================

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

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

If you're reading this on blog.llvm.org then do note this is LAST TIME it will
be cross-posted there directly. There is a great effort underway to increase
the content on the LLVM blog, and unfortunately LLVM Weekly has the effect of
drowning out this content. As ever, you can head to <http://llvmweekly.org>,
subscribe to get it by email, or subscribe to the [RSS
feed](http://llvmweekly.org/rss.xml).


## News and articles from around the web

After recently being taken down due to excessive resource usage, the [LLVM apt
repositories are now
back](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101500.html).

A detailed [introduction to
ThinLTO](http://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.html)
has been published on the LLVM blog. This covers the background, design,
current status, and usage information for ThinLTO.

A post on Reddit gives a summary of [notable language features voted into the
C++17 working draft at the Oulu
meeting](https://www.reddit.com/r/cpp/comments/4pmlpz/).


## On the mailing lists

* Sanjoy Das has written an RFC on [strong GC references in
LLVM](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101522.html). The
motivating case for this proposal is supporting a precise, relocating garbage
collector.

* LLVM version 3.8.1-final [has been
tagged](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101458.html).

* The Google Summer of Code mid-terms have snuck up on us already. The
participating students have posted to the mailing lists with a summary of
their work so far:
    * [Finding and reporting bugs caused by copy and
    paste](http://lists.llvm.org/pipermail/cfe-dev/2016-June/049547.html)
    * [Enabling LLVM's self-hosted modules builds using
    libstdc++](http://lists.llvm.org/pipermail/cfe-dev/2016-June/049563.html)
    * [Capture tracking
    improvements](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101237.html)
    * [Improvement of vectorization process in
    Polly](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101370.html)
    * [Better alias analysis by
    default](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101414.html)
    * [Interprocedural register
    allocation](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101057.html)
    * [Polly as an analysis
    pass](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101314.html)
    * [Enabling polyhedral optimisations in
    Julia](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101419.html)

* Vivek Pandya wrote the mailing list seeking [advice on adding a new calling
convention for interprocedural register
allocation](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101319.html).
Matthias Braun [summarised some follow-up
discussion](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101338.html).


## LLVM commits

* The new representation for control-flow integrity and virtual call metadata
has landed. The commit message further details the problems this change
addresses. [r273729](http://reviews.llvm.org/rL273729).

* The `llvm.type.checked.load` intrinsic was added. It loads a function
pointer from a virtual table pointer using type metadata.
[r273576](http://reviews.llvm.org/rL273576).

* As part of the work on CFL-AA, interprocedural function summaries were
added. These avoid recomputation for many properties of a function.
[r273219](http://reviews.llvm.org/rL273219),
[r273596](http://reviews.llvm.org/rL273596).

* MemorySSA gained new APIs for PHI creation and MemoryAccess creation.
[r273295](http://reviews.llvm.org/rL273295).

* Metadata attachments are now allowed for declarations.
[r273336](http://reviews.llvm.org/rL273336).

* A new runtimes directory was added to the LLVM tree.
[r273620](http://reviews.llvm.org/rL273620).

* LLVM's dynamic loader gained basic support for COFF ARM.
[r273682](http://reviews.llvm.org/rL273682).


## Clang commits

* `constexpr if` support has been added to Clang.
[r273602](http://reviews.llvm.org/rL273602).

* clang-tidy has a new `modernize-use-emplace` check that will replace calls
of `push_back` to `emplace_back`. [r273275](http://reviews.llvm.org/rL273275).

* The CMake build system for Clang gained a `ENABLE_X86_RELAX_RELOCATIONS`
option. [r273224](http://reviews.llvm.org/rL273224).


## Other project commits

* Basic support for versioned symbols was added to LLD.
[r273143](http://reviews.llvm.org/rL273143).

* LLD now handles both single and double dashes for all options.
[r273256](http://reviews.llvm.org/rL273256).


More information about the llvm-dev mailing list