LLVM Weekly - #139, Aug 29th 2016

Welcome to the one hundred and thirty-ninth 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. 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@asbradbury.org, or @llvmweekly or @asbradbury on Twitter.

News and articles from around the web

It's a Bank Holiday here in the UK and for once it seems the weather is pretty good. Perhaps you're looking to get away from LLVM hacking and sit down with a good book? Gabriel Hjort Blindell (from KTH) has you covered with his book on instruction selection. As well as being available in printed and ebook form from Springer, you can grab the author-final PDF version here for free. "This book presents a comprehensive, structured, up-to-date survey on instruction selection. The survey is structured according to two dimensions: approaches to instruction selection from the past 45 years are organized and discussed according to their fundamental principles and according to the characteristics of the supported machines instructions."

The release of LLVM and Clang 3.9 is inching ever closer. Binaries for Release Candidate 3 are now available. Hans Wennborg hopes a final release will happen this week.

The deadline for paper submissions at the LLVM in HPC workshop have been extended by one week. The deadline is moved from September 1st to September 8th. Talk submission for the 2016 LLVM Developers' Meeting closed last week. The inaugural LLVM Cauldron will be taking place in Hebden Bridge next week, on Thursday the 8th September. Our talk lineup has been announced, so please take a look and register if you'd like to attend. We are still accepting last minute proposals for birds of a feather sessions or lightning talks.

llvmlite 0.13.0 has been released. llvmlite is a light-weight Python binding for LLVM, originally created for the needs of Numba. The new release supports LLVM 3.8.

Neil Henning has written a blog post about hooking up the mpc micro parser combinator library to LLVM. In it, he describes parsing and compiling a simple toy language 'neil'. More blog posts are promised in the series.

MongoDB Engineering have written up a series of three blog posts about reformatting a large codebase using clang-format.

Christian S. Perone has written an article on how to JIT TensorFlow graphs using LLVM and Python.

On the mailing lists

LLVM commits

Work on coroutines has reached a new milestone. With the addition of the coroutine frame building algorithm, simple coroutines can be compiled. r279609.

Documentation on using -opt-bisect-limit to debug optimisation errors has been added. r279881.

libFuzzer's recently added value profiling support has now been documented. r279587.

The Lanai backend is no longer experimental, and so is built as one of the default targets. r279498.

The NoPHIs property for MachineFunction has been added. This indicates there are no PHI instructions in the MachineFunction. r279573.

Clang commits

A new clang-tidy check, readability-non-const-parameter will warn when adding const to a function parameter would make the interface safer. r279507.

-f-diagnostics-absolute-paths is now supported, which will print absolute paths in diagnostics. r279827.

Other project commits