[llvm-dev] LLVM Weekly - #164, Feb 20th 2017

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 20 11:21:19 PST 2017


LLVM Weekly - #164, Feb 20th 2017
=================================

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

Welcome to the one hundred and sixty-fourth 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

Sources and binaries for LLVM 4.0.0-rc2 are [now
available](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110167.html).
Get testing!

The next LLVM social in Berlin [will be held on February
23rd](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110298.html).

The next LLVM social in Belgium [will be held on the 6th of
March](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110276.html).

The NetBSD Foundation has a new blog post summarising
[recent changes to LLDB for NetBSD
support](http://blog.netbsd.org/tnf/entry/the_first_patch_bulk_upstreamed).

Manu Sánchez has blogged about [writing AST matchers for
libclang](http://manu343726.github.io/2017/02/11/writing-ast-matchers-for-libclang.html).

Version 5 of the DWARF debugging standard [has been
released](http://dwarfstd.org/DWARF5PressRelease.php).


## On the mailing lists

* Would you be interested in an LLVM social [in
Sweden](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110284.html) or
[in
Italy](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110277.html)? If
so, speak up!

* Quentin Colombet has [clarified the plan for moving forwards with
GlobalISel](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110095.html).

* Ayalk Zaks and Gil Rapaport are [seeking
feedback](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110159.html)
on 'VPlan', a model for vectorisation that hopes to capture all vectorisation
decisions. A PDF detailing VPlan is [available
here](https://reviews.llvm.org/D28975#655369).

* Zachary Turner has written up on RFC on [adding a new stream abstraction to
LLVM](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110342.html). The
proposed ThinStream gives a read-only API that encourages zero-copy access,
while WritableThinStream allows writing. There are also variants that allow
reading and writing of semantic data rather than raw bytes.

* Mehdi Amini [kicked off
discussion](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110274.html)
on what sort of criteria LLVM should use to rank proposed student projects.

* Steven Perron has written an RFC on [representing unions in
TBAA](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110082.html).

* Witold Waligora has proposed [JumpMaps, a variant/generalisation of
JumpTables](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110088.html).

* Martell Malone has proposed a [new dlltool replacement for
LLVM](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110097.html), and
is looking for feedback.

* Alex Bradbury has written an [RFC about setting FrameSetup/FrameDestroy
MachineInstr
flags](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110281.html)
when spilling or restoring callee-saved registers. We'd really welcome further
feedback from debuginfo experts.


## LLVM commits

* Support for "debug counters" was added. This is a tool to help narrow down
miscompilation to a particular transformation from the command-line.
[r295595](http://reviews.llvm.org/rL295595).

* The default threshold for full loop unrolling has been increased for the O3
optimisation level, meaning more loops will be unrolled.
[r295538](http://reviews.llvm.org/rL295538).

* Documentation on LLVM's type-based alias analysis metadata has seen a
sizable update. [r294999](http://reviews.llvm.org/rL294999).

* Tablegen DAGGenISelDAG gained a new feature to aid debugging instruction
selection. [r295081](http://reviews.llvm.org/rL295081).

* MachineBlockPlacement learnt to better layout trellis-shaped CFGs.
[r295223](http://reviews.llvm.org/rL295223).

* Support for the Cavium ThunderX ARM64 processors (including a scheduler) was
added. [r295475](http://reviews.llvm.org/rL295474).


## Clang commits

* The number of UBSan-inserted null checks on C++ object pointers has been
significantly reduced. [r295391](http://reviews.llvm.org/rL295391).

* Clang's code completion now recognises the previously missing C++11
keywords. [r295001](http://reviews.llvm.org/rL295001).

* C++1z class template argument deduction is now considered 'done'.
[r295011](http://reviews.llvm.org/rL295011).

* The new readability-misleading-indentation checker will warn if indentation
around unbraced if/else statements may be misleading (and likely indicate
programmer error). [r295041](http://reviews.llvm.org/rL295041).


## Other project commits

* XRay is now supported on the MIPS targets.
[r295166](http://reviews.llvm.org/rL295166).

* The LLDB Utility library is now standalone, without dependencies on other
parts of LLDB. [r295368](http://reviews.llvm.org/rL295368).


More information about the llvm-dev mailing list