LLVM Weekly - #71, May 11th 2015 =============================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/71>. Welcome to the seventy-first 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 The implementation of OpenMP 3.1 in Clang/LLVM is [now complete](http://article.gmane.org/gmane.comp.compilers.clang.devel/42620). Well done to everyone involved. Most slides from the presentations at [EuroLLVM 2015](http://llvm.org/devmtg/2015-04/) are now online. Video is [coming soon](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85455). Version 3.5.1 of Clang UPC, the Unified Parallel C compiler has [been released](http://clangupc.github.io/2015/04/15/clang-upc-3-5-1-0-announcment/). The main change seems to be the move to Clang/LLVM 3.5. The Pony Language, which features an LLVM backend has recently [been released](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85486). It received quite a lot of [discussion on Hacker News](https://news.ycombinator.com/item?id=9482483). Many readers might be interested in this [update from the last C++ standardization committee meeting](http://www.reddit.com/r/cpp/comments/35g7f6/). IBM have posted some bounties for [TSAN support](https://www.bountysource.com/issues/11873163-enable-thread-sanitizer-for-ppc64) and [MSAN support](https://www.bountysource.com/issues/11872976-enable-memory-sanitizer-for-ppc64) for PPC64. ## On the mailing lists * Renato Golin has been asking about interest in [improving the LLVM online code coverage report](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85385). Joshua Cranmer shared the work he did on [code coverage for Thunderbird and Firefox](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85424). * John Criswell has followed up on an older thread about the LLVM DSA work giving [some useful insight](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85380), and [some more](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85461). * Hubert Tong is interested in working on [implementing the C++ Concepts Technical Specification in Clang](http://article.gmane.org/gmane.comp.compilers.clang.devel/42564), and would like anyone who's interested in collaborating or has already made a start to get in touch. * Quentin Colombet has posted a [heads-up about his shrink-wrap pass work](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85322), including details on how to enable support in your backend (in-tree or out-of-tree). * Last week's discussion about improving LLD has rumbled on. Chris Lattner [suggested working on two linkers](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85298), one to serve the needs of those who primarily want a usable BSD-licensed system linker and another a 'next generation' linker trying to meet the original aims of LLD, developed without the same constraints on compatibility. Alex Rosenberg gave a good [summary of the original aims of LLD](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85247) and how recent changes have moved it further from those aims. It looks like [a path forwards is being identified](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85483). ## LLVM commits * A new 'shrink-wrap' pass has been added. It attempts to insert the prologue and epilogue of a function somewhere other than the entry/exit blocks. See the commit message for a motivating example. [r236507](http://reviews.llvm.org/rL236507). * Support for the z13 processor and its vector capabilities have been added to the SystemZ backend. [r236520](http://reviews.llvm.org/rL236520), [r236521](http://reviews.llvm.org/rL236521). * Documentation has been written for the new masked gather and scatter intrinsics. [r236721](http://reviews.llvm.org/rL236721). * The statepoint intrinsic has been extended to allow statepoints to be marked as tranditions from GC-aware code to nonGC-aware code. [r236888](http://reviews.llvm.org/rL236888). ## Clang commits * Clang support for the z13 processor was added. [r236531](http://reviews.llvm.org/rL236531). * Thread-safe initialization using the MSVC 2015 ABI has been implemented. [r236697](http://reviews.llvm.org/rL236697). * User-friendly `-fsanitize-coverage=` flags are now available. [r236790](http://reviews.llvm.org/rL236790). ## Other project commits * libiomp's CMake has been integrated into the LLVM CMake build system, so you can now checkout libiomp and have it built alongside llvm, clang and so on. [r236534](http://reviews.llvm.org/rL236534).