LLVM Weekly - #51, Dec 22nd 2014
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. 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.
Last week as part of the lowRISC project I was involved in sharing our plans for 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!
The canonical home for this issue can be found here at llvmweekly.org.
News and articles from around the web
3.5.1-rc2 has been tagged, time to get testing again.
Version 0.15.1 of LDC, the LLVM D Compiler has been released. 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.
Peter Wilmott has benchmarked Ruby across various GCC and Clang releases. The discussion at HN may be of interest.
On the mailing lists
Elena Demikhovsky has posted a proposal for indexed load and store intrinsics. 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. 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. Reid Kleckner's response is informative.
Ulrich Weigand is taking over ownership of the SystemZ port.
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.
Sean Silva has shared some thorough notes on the use of standard deviation and benchmarking in general.
LLVM commits
Metadata is now typeless in assembly. r224257.
PowerPC instruction selection for bit-permuting operations has been improved. r224318.
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.
More overflow arithmetic intrinsics are strength reduced into regular arithmetic operations if possible. r224417.
Clang commits
Codegen for 'omp for' has started to be committed. r224233.
-save-temps
will now emit unoptimized bitcode files. r224688.