[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

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
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

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
Do take a look at the the in-review [proposal written my Mehdi

* 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
Renato Golin has responded to [describe the current state of performance

* Kate Stone has posted a reminder that a [full clang-format reformatting of
LLDB will take place on 7th

## 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.

* WebAssembly can now handle setjmp/longjmp using Javascript try and catch.

* 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.

* 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.

* llvm-readobj gained support for printing GNU notes such as Build ID.

* Coroutine implementation continues with the addition of promise support.

* The EarlyCSE (early common subexpression elimination) pass now has the
option of using MemorySSA for more precise memory dependency checking.

* lit will now use Python's multiprocessing library by default on Windows.
This can result in a large speedup for a check-all.

## 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.

* Some initial work towards bringing up lldb-server on Darwin has landed.

More information about the llvm-dev mailing list