Alex Bradbury via llvm-dev
2016-Sep-05 14:30 UTC
[llvm-dev] LLVM Weekly - #140, Sep 5th 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).