[llvm-dev] LLVM Weekly - #107, Jan 18th 2016

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 18 03:00:59 PST 2016


LLVM Weekly - #107, Jan 18th 2016
=================================

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

Welcome to the one hundred and seventh 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 have a very exciting piece of non-LLVM news to share this week. On Saturday
I proposed to my partner Carrie Anne, and I'm delighted to report that [she
said yes](https://twitter.com/MissPhilbin/status/688452374260744192). You may
well question if this piece of personal news has any relevance to you, and in
response I'd like to highlight just how important Carrie Anne is to this
weekly newsletter. For over two years now, I've given up 2-3+ hours of my time
every week without fail on evenings and weekends, time we could really be
spending together as a couple. Without Carrie Anne's understanding and support
LLVM Weekly couldn't exist. 2016 is going to be a very exciting year.


## News and articles from around the web

Registration is [now
open](http://lists.llvm.org/pipermail/llvm-dev/2016-January/094106.html) for
EuroLLVM 2016. The conference will be held in Barcelona on March 17th-18th.
The call for papers closes on January 25th.

Registration is
[open](http://lists.llvm.org/pipermail/llvm-dev/2016-January/093960.html) for
the Clang/LLVM development sprint to be held on the weekend of Feb 6th/7th at
Bloomberg's London and New York offices.

The next Cambridge LLVM social will be held [on Wednesday 20th January at
7.30pm](http://lists.llvm.org/pipermail/llvm-dev/2016-January/093918.html),
and will be colocated with the FreeBSD social.


## On the mailing lists

* Rui Ueyama has run [benchmarks for every LLD
commit](http://lists.llvm.org/pipermail/llvm-dev/2016-January/094132.html). He
observes the linker in general is getting slightly slower over time as it
gains more functionality, but that no commit seems to increase link time
without a justifiable reason.

* Chris Bieneman has posted an [RFC on removing autoconf from the
trunk](http://lists.llvm.org/pipermail/llvm-dev/2016-January/093875.html). The
proposal is to remove it from the repository on January 26th. There don't seem
to be any objections to this timeline so far.

* Krzystof Parzyszek has shared a [description of the recently committed
register data-flow
framework](http://lists.llvm.org/pipermail/llvm-dev/2016-January/093891.html).

* Discussion has been ongoing in the thread about global instruction
selection, particularly surrounding the semantics of bitcasts on big-endian
systems. James Molloy has [posted to clarify the current
behaviour](http://lists.llvm.org/pipermail/llvm-dev/2016-January/093977.html).

* JF Bastien has posted an [RFC on supporting non-temporal fencing in LLVM
IR](http://lists.llvm.org/pipermail/llvm-dev/2016-January/093912.html).

* Quentin Colombet is [seeking feedback on the best way to map LLVM IR values
to MachineInstr
values](http://lists.llvm.org/pipermail/llvm-dev/2016-January/094049.html) as
part of his GlobalISel work.

* The branch for LLVM 3.8 [has now been
created](http://lists.llvm.org/pipermail/llvm-dev/2016-January/093932.html).
The first release candidate should some soon.

* John McCall has posted an RFC on [enforcing pointer type alignment in
Clang](http://lists.llvm.org/pipermail/llvm-dev/2016-January/094012.html). The
RFC proposes the following "It is not undefined behavior to create a pointer
that is less aligned than its pointee type. Instead, it is only undefined
behavior to access memory through a pointer that is less aligned than its
pointee type."

* Philip Reames has posted a note for anyone using RewriteStatepointsForGC.
There's been a [recent change in the handling of vectors of
pointers](http://lists.llvm.org/pipermail/llvm-dev/2016-January/094041.html).

* Derek Schuff has followed up to the previous discussion about allowing
virtual registers after register allocation with [some more thoughts after
some offline
discussions](http://lists.llvm.org/pipermail/llvm-dev/2016-January/093952.html).

* Hans de Goede is working on a backend for TGSI (Tungsten Graphics Shader
Infrastruture, as used by Gallium) and has a [number of
questions](http://lists.llvm.org/pipermail/llvm-dev/2016-January/093829.html).


## LLVM commits

* The ORC JIT API now supports remote JITing over an RPC interface to a
separate process. The LLI tool has been updated to use this interface.
[r257305](http://reviews.llvm.org/rL257305),
[r257343](http://reviews.llvm.org/rL257343).

* The Hexagon backend gained a target-independent SSA-based data flow
framework for representing data flow between physical registers and passes
using this to implement register liveness analysis, dead code elimination, and
copy propagation. [r257447](http://reviews.llvm.org/rL257447),
[r257480](http://reviews.llvm.org/rL257480),
[r257485](http://reviews.llvm.org/rL257485),
[r257490](http://reviews.llvm.org/rL257490).

* The documentation on committing code reviewed on Phabricator to trunk has
been improved. [r257764](http://reviews.llvm.org/rL257764).

* WebAssembly gained a prototype instruction encoder and disassembler based on
a temporary binary format. [r257440](http://reviews.llvm.org/rL257440).

* LLVM's MathExtras gained a SaturatingMultiplyAdd helper.
[r257352](http://reviews.llvm.org/rL257352).

* llvm-readobj has much-expanded support for dumping CodeView debug info.
[r257658](http://reviews.llvm.org/rL257658).

* The code that finds code sequences implementing bswap or bitreverse and
emits the appropriate intrinsic has been rewritten.
[r257875](http://reviews.llvm.org/rL257875).

* The AMDGPU backend gained a new machine scheduler for the Southern Islands
architecture. [r257609](http://reviews.llvm.org/rL257609).


## Clang commits

* A Python implementation of scan-build has been added.
[r257533](http://reviews.llvm.org/rL257533).

* The 'interrupt' attribute is now supported on x86.
[r257867](http://reviews.llvm.org/rL257867).

* Clang learned to respond to the `-fsanitize-stats` flag. It can currently
only be used with control-flow integrity and allows statistics to be dumped.
[r257971](http://reviews.llvm.org/rL257971).


## Other project commits

* The compiler-rt CMake buildsystem gained experimental support for tvOS and
watchOS. [r257544](http://reviews.llvm.org/rL257544).

* Initial support was added for PPC and the new ELF linker.
[r257374](http://reviews.llvm.org/rL257374).

* The CMake and Lit runners in the LLVM test-suite can now support the integer
C and C++ tests from SPEC CPU2006.
[r257370](http://reviews.llvm.org/rL257370).


More information about the llvm-dev mailing list