LLVM Weekly - #72, May 18th 2015
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. 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.
Some of you may be interested that over at the lowRISC project, we've announced the full set of summer student projects we're supporting.
The canonical home for this issue can be found here at llvmweekly.org.
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.
The next Cambridge LLVM Social will take place on Wednesday 20th May at the Cambridge Beer Festival.
On the mailing lists
Teresa Johnson has posted an RFC on her ThinLTO implementation plan. 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. 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, given that the Itanium EH representation has been found insufficient.
Chris Matthews proposes changing LNT's regression detection algorithm, 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. 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 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.
The heuristic for estimating the effect of complete loop unrolling has been reimplemented. r237156.
Statepoints are now 'patchable'. r237214.
Support for function entry count metadata has been added. r237260.
A new loop distribution pass has been born. It is off by default. r237358.
New SelectionDAG nodes have been added for signed/unsigned min/max. r237423.
A simple speculative execution pass, targeted mainly at GPUs has been added. r237459.
Clang commits
The little endian SPARC target has been added to clang. r237001.
clang-format's formatter has undergone some refactoring, which also led to a few bug fixes.r237104.
Documentation on adding new attributes has seen a significant update. r237268.