LLVM Weekly - #51, Dec 22nd 2014 =============================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/51>. Welcome to the fifty-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. Last week as part of the [lowRISC project](http://www.lowrisc.org/) I was involved in [sharing our plans for tagged memory and 'minion' cores](http://www.lowrisc.org/docs/memo-2014-001-tagged-memory-and-minion-cores/) in the initial version. We've almost made it a full year of LLVM Weekly with no interruption of service! ## News and articles from around the web 3.5.1-rc2 [has been tagged](http://article.gmane.org/gmane.comp.compilers.llvm.devel/80017), time to get testing again. Version 0.15.1 of LDC, the LLVM D Compiler [has been released](http://forum.dlang.org/thread/zpjjzbkwlisjemoxutms at forum.dlang.org). The most prominent feature is probably the addition of preliminary support for MSVC on Win64. SN Systems (part of Sony) have written a blog post [describing their recently contributed ABI test suite](http://www.snsystems.com/technology/2014/12/18/abi-bugs-are-a-nightmare/). Peter Wilmott has [benchmarked Ruby across various GCC and Clang releases](https://p8952.info/ruby/2014/12/12/benchmarking-ruby-with-gcc-and-clang.html). The [discussion at HN](https://news.ycombinator.com/item?id=8762654) may be of interest. ## On the mailing lists * Elena Demikhovsky has posted a [proposal for indexed load and store intrinsics](http://article.gmane.org/gmane.comp.compilers.llvm.devel/79936). These are intended for AVX-512 or AVX2 gather/scatter instructions which allow read/write access to multiple memory addresses. * Chad Rosier kicked off a discussion on [lowering switch statements in the presence of data from profile guided optimisation](http://article.gmane.org/gmane.comp.compilers.llvm.devel/79849). There's some quite detailed discussion about when to use a Huffman tree vs a jump table. * Andrew Kaylor has posted [his impression of what needs to be done for MSVC exception handling support](http://article.gmane.org/gmane.comp.compilers.llvm.devel/79965). Reid Kleckner's [response](http://article.gmane.org/gmane.comp.compilers.llvm.devel/79997) is informative. * Ulrich Weigand is [taking over ownership of the SystemZ port](http://article.gmane.org/gmane.comp.compilers.llvm.devel/79912). * LLVM/Clang 3.6 is expected to branch in January. Marshall Clow has shared a [summary of the timings of releases over the past few years](http://article.gmane.org/gmane.comp.compilers.clang.devel/40292). * Sean Silva has shared some [thorough notes on the use of standard deviation and benchmarking in general](http://article.gmane.org/gmane.comp.compilers.llvm.devel/79962). ## LLVM commits * Metadata is now typeless in assembly. [r224257](http://reviews.llvm.org/rL224257). * PowerPC instruction selection for bit-permuting operations has been improved. [r224318](http://reviews.llvm.org/rL224318). * An optimisation has been added to move sign/zero extends close to loads which causes performance improvements of 2-3% on a few benchmarks on x86. [r224351](http://reviews.llvm.org/rL224351). * More overflow arithmetic intrinsics are strength reduced into regular arithmetic operations if possible. [r224417](http://reviews.llvm.org/rL224417). ## Clang commits * Codegen for 'omp for' has started to be committed. [r224233](http://reviews.llvm.org/rL224233). * `-save-temps` will now emit unoptimized bitcode files. [r224688](http://reviews.llvm.org/rL224688). ## Other project commits * The libcxx test suite can be run with ccache now. [r224603](http://reviews.llvm.org/rL224603). * Breakpoints can now be tagged with a name in lldb. [r224392](http://reviews.llvm.org/rL224392).