[llvm-dev] LLVM Weekly - #96, Nov 2nd 2015

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Nov 2 08:51:09 PST 2015


LLVM Weekly - #96, Nov 2nd 2015
===============================

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

Welcome to the ninety-sixth 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

Some slides have started to appear from last week's LLVM Dev Meeting already.
It seems like a good time was had by all, I'm disappointed to have missed it.
To pre-empt the obvious question, yes the talks were recorded and videos [will
be up in the next few
weeks](https://www.reddit.com/r/programming/comments/3r340v//cwkisjx). In
particular, see the [slides from Chris Lattner and Joe Groff on the Swift
Intermediate
Language](http://llvm.org/devmtg/2015-10/slides/GroffLattner-SILHighLevelIR.pdf).
Slides are also up for [Hans Wennborg's lightning talk on switch lowering
improvements](http://llvm.org/devmtg/2015-10/slides/Wennborg-SwitchLowering.pdf)
as well as
Reid Kleckner and David Majnemer's [talk on extending exception handling in
LLVM to support MSVC's
model](http://llvm.org/devmtg/2015-10/slides/KlecknerMajnemer-ExceptionHandling.pdf).

Timothy Jones has written a [blog post about throttled
SLP](http://www-dyn.cl.cam.ac.uk/~tmj32/wordpress/?p=43) and how
counter-intuitively you can boost performance by limiting vectorisation. This
was developed with Vasileios Porpodas who presented [the
paper](http://www.cl.cam.ac.uk/~tmj32/papers/docs/porpodas15-pact.pdf) at PACT
and talked about it at last week's LLVM dev meeting.

Microsoft have [begun to publicly document the PDB
format](https://github.com/Microsoft/microsoft-pdb) with the aim of helping
the Clang and LLVM communities. The original creator of PDB also [shared a
series of thoughts and details on
Twitter](https://twitter.com/jangray/status/659916997711544320).

Portable Computing Language (pocl) v0.12 [has been
released](http://lists.llvm.org/pipermail/llvm-dev/2015-October/091753.html).
pocl aims to be an open-source, performance portable implementation of the
OpenCL standard. This release includes support for HSA-compliant devices and
is the last one that will build with older LLVM versions.


## On the mailing lists

* Discussion about the proposed move of LLVM and related projects to the
Apache License v2.0 has continued. Chris Lattner checked back in to say [he's
looking more closely at the concerns about the GPLv2 compatibility that would
be lost in the license
change](http://lists.llvm.org/pipermail/llvm-dev/2015-October/091886.html).

* Asiri Rathnayake has posted an RFC on his plan to [fix and maintain the
no-exceptions build of
libcxx](http://lists.llvm.org/pipermail/llvm-dev/2015-October/091842.html). It
seems people are supportive of the idea.

* Chris Bieneman has posted a [late October update on progress moving towards
CMake](http://lists.llvm.org/pipermail/llvm-dev/2015-October/091798.html). The
list of blocking issues continues to shrink.

* Dave Bartolomeo has posted an [RFC on adding support for emitting debug info
in Microsoft's CodeView debug
format](http://lists.llvm.org/pipermail/llvm-dev/2015-October/091847.html).

* Steve Montgomery has a [useful answer to a question about handling pre/post
increment addressing
modes](http://lists.llvm.org/pipermail/llvm-dev/2015-October/091860.html).

* Amjad Aboud has posted an [RFC on supporting macros in LLVM debug
info](http://lists.llvm.org/pipermail/llvm-dev/2015-October/091818.html).

* Cong Hou is seeking [feedback and performance reports on the newly added
vectorizer-maximize-bandwidth
flag](http://lists.llvm.org/pipermail/llvm-dev/2015-October/091846.html).


## LLVM commits

* An improvement to codegen for ARM/ELF for global variable addresses means
that Chromium for Android builds are now 4% smaller.
[r251322](http://reviews.llvm.org/rL251322).

* Support for the Apple WatchOS ABI and its compact unwind information has
landed. [r251570](http://reviews.llvm.org/rL251570),
[r251573](http://reviews.llvm.org/rL251573).

* LLVM's bitcode format can now include an identification block. This contains
a string that can be used to give information on the bitcode producer as well
as an 'epoch' number, intended to increase monotonically as incompatible
changes to the bitcode are made. This should allow for more user-friendly
error messages upon attempting to read incompatible bitcode.
[r251325](http://reviews.llvm.org/rL251325).

* Experimental C bindings for the Orc JIT compilation API have been added.
[r251472](http://reviews.llvm.org/rL251472).

* The 'interrupt' attribute on functions is now supported for mips32r2+.
[r251286](http://reviews.llvm.org/rL251286).

* AARch64LoadStoreOptimizer learned to merge two halfword loads into a single
32-bit load. [r251438](http://reviews.llvm.org/rL251438).


## Clang commits

* Implementation of support for C++1z coroutines continues.
[r251387](http://reviews.llvm.org/rL251387).

* The `-Wdouble-promotion` warning was implemented, which warns when an
implicit conversion increases the width of a single precision float to a
double. [r251588](http://reviews.llvm.org/rL251588).

* Support for new `__builtin_{add,sub,mul}_overflow` builtins was added. These
work generically for operands of any integer type.
[r251651](http://reviews.llvm.org/rL251651).

* Command-line options for targetting watchOS and tvOS were added to Clang as
well as ABI changes. [r251706](http://reviews.llvm.org/rL251706),
[r251710](http://reviews.llvm.org/rL251710).

* The libClang bindings now expose the `is_mutable_field`.
[r251410](http://reviews.llvm.org/rL251410).


## Other project commits

* The llvm test-suite gained a new CMake+Lit build system/harness.
[r251431](http://reviews.llvm.org/rL251431).


More information about the llvm-dev mailing list