[llvm-dev] LLVM Weekly - #140, Sep 5th 2016

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 5 07:30:43 PDT 2016


LLVM Weekly - #140, Sep 5th 2016
================================

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

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

LLVM and Clang 3.9 have [been
released](http://lists.llvm.org/pipermail/llvm-dev/2016-September/104460.html).
You can find the LLVM release notes
[here](http://llvm.org/releases/3.9.0/docs/ReleaseNotes.html). Onwards to 4.0!

Kirill Bobyrev has written a blog post offering a general [introduction to the
various clang-based
tools](https://omtcyfz.github.io/2016/08/30/Improving-workflow-by-using-Clang-based-tools.html).

It's the [LLVM Cauldron](http://llvm.org/devmtg/2016-09/) on Thursday this
week and we have a great talk line-up. I hope to see a number of you there!


## On the mailing lists

* Reid Kleckner would like to [revisit whether it makes sense to continue
supporting MSVC
2013](http://lists.llvm.org/pipermail/llvm-dev/2016-August/104366.html). If
dropping MSVC 2013 would be problematic for you, then do speak up.

* Renato Golin has posted a call for [further input on the GitHub move
survey](http://lists.llvm.org/pipermail/llvm-dev/2016-September/104400.html).
Do take a look at the the in-review [proposal written my Mehdi
Amini](https://reviews.llvm.org/D24167).

* Kirill Bobyrev has
[shared](http://lists.llvm.org/pipermail/cfe-dev/2016-September/050641.html) a
design document about his proposed clang-refactor tool.

* Dean Michael Berris is interested in the [status of benchmarks for
LLVM-generated
binaries](http://lists.llvm.org/pipermail/llvm-dev/2016-August/104378.html).
Renato Golin has responded to [describe the current state of performance
tracking](http://lists.llvm.org/pipermail/llvm-dev/2016-September/104392.html).

* Kate Stone has posted a reminder that a [full clang-format reformatting of
LLDB will take place on 7th
September](http://lists.llvm.org/pipermail/lldb-dev/2016-September/011168.html).


## LLVM commits

* A new counter function insertion pass has been added. This will be used to
support `-pg` profiling, which inserts calls to count function invocations. If
this is done in the frontend, the count can become inaccurate due to inlining.
[r280347](https://reviews.llvm.org/rL280347).

* WebAssembly can now handle setjmp/longjmp using Javascript try and catch.
[r280302](https://reviews.llvm.org/rL280302).

* The AMDGPU backend now includes a custom MachineSchedStrategy. It is not yet
enabled by default. [r279995](http://reviews.llvm.org/rL279995).

* The `ilist<T>::reverse_iterator` now has the same invalidation guarantees as
an `ilist<T>::iterator`, i.e. it is never invalidated unless the node it
references is deleted. [r280032](http://reviews.llvm.org/rL280032).

* MIPS gained a new generic scheduler model.
[r280374](https://reviews.llvm.org/rL280374),
[r280377](https://reviews.llvm.org/rL280377).

* LLVM's ADT library now has `simple_ilist`, a simple intrusive list. The aim
is to offer an intuitive API with the right defaults for intrusive lists.
[r280107](http://reviews.llvm.org/rL280107).

* llvm-readobj gained support for printing GNU notes such as Build ID.
[r280131](http://reviews.llvm.org/rL280131).

* Coroutine implementation continues with the addition of promise support.
[r280184](http://reviews.llvm.org/rL280184).

* The EarlyCSE (early common subexpression elimination) pass now has the
option of using MemorySSA for more precise memory dependency checking.
[r280279](https://reviews.llvm.org/rL280279).

* lit will now use Python's multiprocessing library by default on Windows.
This can result in a large speedup for a check-all.
[r280382](https://reviews.llvm.org/rL280382).


## Clang commits

* A new attribute `require_constant_initialization` was added. This acts as a
compile time assertion that the requirements for constant initialization have
been met. [r280525](https://reviews.llvm.org/rL280525).

* The Clang driver gained support for building C++ TS modules, e.g. the
`--precompile` option. [r280134](https://reviews.llvm.org/rL280134).

* A clang-reorder-fields tool was added to clang-tools-extra. This aims to
make it easier to change the order of fields of a struct or class in a large
codebase. [r280456](https://reviews.llvm.org/rL280456).


## Other project commits

* LLDB gained some initial support for Windows Minidump parsing.
[r280356](http://reviews.llvm.org/rL280356).

* Some initial work towards bringing up lldb-server on Darwin has landed.
[r280604](http://reviews.llvm.org/rL280604).


More information about the llvm-dev mailing list