LLVM Weekly - #72, May 18th 2015 =============================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/72>. Welcome to the seventy-second 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. Some of you may be interested that over at the lowRISC project, we've announced the [full set of summer student projects](http://www.lowrisc.org/blog/2015/05/summer-of-code-students-for-lowrisc/) we're supporting. ## News and articles from around the web The Rust programming language, which of course uses LLVM as its compiler backend, has just [released version 1.0](http://blog.rust-lang.org/2015/05/15/Rust-1.0.html). The next Cambridge LLVM Social will [take place on Wednesday 20th May](http://article.gmane.org/gmane.comp.compilers.clang.devel/42786) at the Cambridge Beer Festival. ## On the mailing lists * Teresa Johnson has posted an [RFC on her ThinLTO implementation plan](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85628). It's seen a lot of feedback, too much for me to hope to summarise, though much of it was around emitting bitcode wrapped in ELF. * Yaxun Liu is [looking to upstream the Khronos Group LLM to SPIR-V converter](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85609). There was some discussion as to whether SPIR-V makes most sense as a backend or as serialisation format alongside the LLVM bitcode output. * Reid Kleckner has written up an RFC on a [new exception handling representation for MSVC](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85783), given that the Itanium EH representation has been found insufficient. * Chris Matthews proposes [changing LNT's regression detection algorithm](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85775), with the aim being to reduce the number of false positives to the extent that people will be motivated to investigate reported regressions. * Matt Arsenault is proposing [upstreaming an LLVM backend for HSAIL](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85616). HSAIL presents a virtual target machine (in a way similar to NVPTX), and is defined by the HSA Foundation. * Owen Anderson proposes a new [convergent attribute](http://article.gmane.org/gmane.comp.compilers.llvm.devel/85633) aiming to make LLVM more suitable for SPMD/SIMT programming models. So far, all feedback has been very positive. ## LLVM commits * The ARM backend has been updated to use AEABI aligned function variants. [r237127](http://reviews.llvm.org/rL237127). * The heuristic for estimating the effect of complete loop unrolling has been reimplemented. [r237156](http://reviews.llvm.org/rL237156). * Statepoints are now 'patchable'. [r237214](http://reviews.llvm.org/rL237214). * Support for function entry count metadata has been added. [r237260](http://reviews.llvm.org/rL237260). * A new loop distribution pass has been born. It is off by default. [r237358](http://reviews.llvm.org/rL237358). * New SelectionDAG nodes have been added for signed/unsigned min/max. [r237423](http://reviews.llvm.org/rL237423). * A simple speculative execution pass, targeted mainly at GPUs has been added. [r237459](http://reviews.llvm.org/rL237459). ## Clang commits * The little endian SPARC target has been added to clang. [r237001](http://reviews.llvm.org/rL237001). * clang-format's formatter has undergone some refactoring, which also led to a few bug fixes.[r237104](http://reviews.llvm.org/rL237104). * Documentation on adding new attributes has seen a significant update. [r237268](http://reviews.llvm.org/rL237268). ## Other project commits * libcxx learnt `std::experimental::sample` [r237264](http://reviews.llvm.org/rL237264). * lldb has enabled multithreaded debugging on Windows. [r237392](http://reviews.llvm.org/rL237392). * lldb can now set and clear hardware watchpoints and breakpoints on AArch64. [r237419](http://reviews.llvm.org/rL237419). * lldb gained an assembly profiler for mips32. [r237420](http://reviews.llvm.org/rL237420).