[llvm-dev] LLVM Weekly - #88, Sep 7th 2015

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 7 10:55:52 PDT 2015


LLVM Weekly - #88, Sep 7th 2015
===============================

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

Welcome to the eighty-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

The biggest news from the past week is of course the [release of LLVM and
Clang
3.7](http://lists.llvm.org/pipermail/llvm-dev/2015-September/089935.html). See
the [LLVM release
notes](http://llvm.org/releases/3.7.0/docs/ReleaseNotes.html) and the [Clang
release
notes](http://llvm.org/releases/3.7.0/tools/clang/docs/ReleaseNotes.html) for
more details.

Slides from the 2015 GNU Tools Cauldron are [now available
online](https://gcc.gnu.org/wiki/cauldron2015#Slides_and_Notes).

Version 1.12 of TCE, the TTA-based co-design environment [has been
released](http://lists.llvm.org/pipermail/llvm-dev/2015-September/090050.html).


## On the mailing lists

* David Li has posted an [RFC on reducing the size overhead for profile-guided
optimisation](http://lists.llvm.org/pipermail/llvm-dev/2015-September/090039.html).
He observes that right now, Clang's PGO instrumentation increases binary size
by 4.6X compared to 2.8X or GCC.

* The Hip-Hop Virtual Machine team (a JITting virtual machine for PHP and
Hack) have been looking at [utilising LLVM as a
backend](http://lists.llvm.org/pipermail/llvm-dev/2015-September/090030.html).
As part of this work, they've generated a number of patches that they're now
looking to upstream. Sanjoy and Philip (Azul) have volunteered to help review
the patches. With active work on Java (Azul), MSIL/C# (Microsoft), Python
(Dropbox) and now PHP/Hack (Facebook) there seems to be a growing number of
teams looking at improving LLVM when used for optimising higher-level
languages.

* Dylan McKay has been maintaining and developing an AVR backend for LLVM out
of tree, and is now [interested in merging it
upstream](http://lists.llvm.org/pipermail/llvm-dev/2015-September/090038.html).

* Steve King is [proposing a new LoopExitValues
pass](http://lists.llvm.org/pipermail/llvm-dev/2015-August/089867.html) which
aims to remove recomputations of loop exit values. This [follow-up
message](http://lists.llvm.org/pipermail/llvm-dev/2015-September/089992.html)
perhaps makes it clearer what the pass does.

* Teresa Johnson continues to work on ThinLTO and has now [shared a revamped
ThinLTO file format
document](http://lists.llvm.org/pipermail/llvm-dev/2015-September/089925.html).
She's also created this [handy
website](https://sites.google.com/site/llvmthinlto/) to track the current RFCs
and patches for ThinLTO.

* John Regehr has [shared some results from
Souper](http://lists.llvm.org/pipermail/llvm-dev/2015-September/089904.html)
that point to areas where computeKnownBits could be improved.

* I missed this last week, but Ben Craig has been [looking at ways to improve
the speed of Clang's static
analyzer](http://lists.llvm.org/pipermail/cfe-dev/2015-August/044817.html).
Ted Kremenek gives some [useful general
guidance](http://lists.llvm.org/pipermail/cfe-dev/2015-August/044825.html).


## LLVM commits

* The LLVM plugin for the gold linker now supports parallel LTO code
generation. [r246584](http://reviews.llvm.org/rL246584).

* The 'unpredictable' metadata annotation is now supported. This can be used
to signal that a branch or switch is unpredictable.
[r246888](http://reviews.llvm.org/rL246888).

* A tool built on libFuzzer to fuzz llvm-as has been added.
[r246458](http://reviews.llvm.org/rL246458).

* The FunctionAttrs pass learned to infer nonnull attributes on returns.
[r246476](http://reviews.llvm.org/rL246476).

* Work on Windows exception handling continues with the addition of the
cleanupendpad instruction and the llvm.eh.exceptionpointer intrinsic.
[r246751](http://reviews.llvm.org/rL246751),
[r246752](http://reviews.llvm.org/rL246752).


## Clang commits

* Basic support for the WebAssembly target landed in Clang. Basic codegen is
supported, but not yet assembling or linking.
[r246814](http://reviews.llvm.org/rL246814).

* Clang will now warn when you reference object members from a handler of a
constructor/destructor function-try-block.
[r246548](http://reviews.llvm.org/rL246548).

* Clang learnt the `__builtin_unpredictable` builtin, which will generate the
newly added unpredictable metadata.
[r246699](http://reviews.llvm.org/rL246699).


## Other project commits

* The new ELF lld linker gained basic archive file support.
[r246886](http://reviews.llvm.org/rL246886).

* Language plugins in LLDB can now provide data formatters.
[r246568](http://reviews.llvm.org/rL246568).


More information about the llvm-dev mailing list