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