[llvm-dev] LLVM Weekly - #162, Feb 6th 2017

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 6 05:53:03 PST 2017


LLVM Weekly - #162, Feb 6th 2017
================================

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

Welcome to the one hundred and sixty-second 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 Quarkslab blog has a new article about [improving the performance of
global dead code
elmination](http://blog.quarkslab.com/global-dead-code-elimination-for-llvm-revisited.html).

Pyston, the LLVM-based JIT for Python has just seen [a new release,
0.6.1](https://blog.pyston.org/2017/01/31/pyston-0-6-1-released-and-future-plans/).
Sadly, with Dropbox no longer providing engineering time for the project, it's
future is in doubt.


## On the mailing lists

* Daniel Berlin has written about his recent work to [add support for extended
SSA to
LLVM](http://lists.llvm.org/pipermail/llvm-dev/2017-February/109768.html).

* Would it be useful to fuzz LLVM or Clang? As Kostya Serebryany
[reports](http://lists.llvm.org/pipermail/llvm-dev/2017-February/109740.html),
clang-fuzzer and clang-format-fuzzer were run on one of the public buildbots
for some time but disabled as the bugs weren't being fixed. More positively,
the C++ demangler is being fuzzed in Google's OSS-Fuzz infrastructure.

* Amara Emerson has shared an RFC on [generic IR
reductions](http://lists.llvm.org/pipermail/llvm-dev/2017-January/109687.html),
especially vector reductions.

* Dehao Chen suggests [changing the default loop unroll
threshold](http://lists.llvm.org/pipermail/llvm-dev/2017-January/109650.html),
and has collected data on [performance and code size
changes](http://lists.llvm.org/pipermail/llvm-dev/2017-January/109695.html)
based on this change.

* Ahmed Bougacha has a [helpful
explanation](http://lists.llvm.org/pipermail/llvm-dev/2017-January/109685.html)
of how GlobalISel can use non-local information.


## LLVM commits

* The MacroFusion class has been moved to the target (so far, implemented by
X86 and AArch64). This class is responsible for scheduling instructions to
maximise the opportunity for the target processor to fuse them.
[r293737](http://reviews.llvm.org/rL293737).

* The ARM scheduling models are undergoing a refactoring, with the aim to make
ARM machine scheduling models for ARM easier to write and more compact.
[r292825](https://reviews.llvm.org/rL292825).

* Certain forms of select for the X86 MCU target will be lowered to bit
manipulation instructions. [r293469](http://reviews.llvm.org/rL293469).

* llvm-readobj now supports WebAssembly.
[r293569](http://reviews.llvm.org/rL293569).

* The loop invariant code motion pass will now hoist loads that are dominated
by the invariant.start intrinsic. [r293887](http://reviews.llvm.org/rL293887).

* The way ELF section symbols are handled in LLVM has been changed.
[r293936](http://reviews.llvm.org/rL293936).


## Clang commits

* Clang gained a new flag, -mfentry, which will insert calls to fentry at each
function entry point. This is x86 only.
[r293649](http://reviews.llvm.org/rL293649).

* clang-format's WhitespaceManager has been refactored.
[r293616](http://reviews.llvm.org/rL293616).


## Other project commits

* LLDB now understands how to access and manipulate Intel MPX boundary tables.
[r293660](http://reviews.llvm.org/rL293660).

* ThreadSanitizer gained a new API that non-instrumented libraries can use to
enable race detection on custom objects.
[r293885](http://reviews.llvm.org/rL293885).

* LLD's CMake build system now supports running tests for a stand-alone build.
[r293630](http://reviews.llvm.org/rL293630).

* A whole bunch of LLDB classes have moved from lldbCore to lldbUtility.
[r293941](http://reviews.llvm.org/rL293941).


More information about the llvm-dev mailing list