LLVM Weekly - #125, May 23rd 2016
Welcome to the one hundred and twenty-fifth 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.
The canonical home for this issue can be found here at llvmweekly.org.
News and articles from around the web
Stephen Kelly has written a blog post about using Clang through the cindex API to automatically generate Python bindings. He also makes use of SIP.
Krister Walfridsson has written a wonderfully clear post on C's type-based aliasing rules.
This week I discovered the Swift Weekly Brief newsletter. Its author, Jesse Squires does a wonderful job of summarising mailing list traffic, recent commits, and discussions on swift-evolution proposals. If you have an interest in Swift development or language design in general I highly recommend it.
Are you interested in writing for the LLVM blog? Or volunteering to help recruit content authors? If so, get in touch with Tanya.
The next Cambridge LLVM Social will be held at 7.30pm on May 25th at the Cambridge Blue.
On the mailing lists
Elena Demikhovsky is interested in extending scalar evolution (SCEV) analysis to include floating point support. This kicked off a pretty interesting discussion. Sanjoy Das highlighted what he sees as the most important issues to discuss. A number of follow-ups discussed whether enough code uses floating point values as an induction variable to be worth optimising. There was also the question of should vectorisation be pursued at any cost?. Even if a loop can be made vectorisable through loop-versioning with run-time checks, is it worth the code size? Is the cost of maintaining the compiler code worthwhile? Hideki Saito posted a useful summary of the discussion so far.
Chandler Carruth is looking for feedback on the idea of supporting horizontal operations on vector types such as sum directly in LLVM IR. Everyone who has responsed so far is in favour.
Jia Chen, GSoC student with LLVM, has noted the CFL-AA pass seems to be mostly working now and would appreciate reports from people trying it out on their codebases.So far, Geoff Berry reports no correctness issues but seemingly very limited changes in the generated code for SPEC and the LLVM test-suite.
Adam Nemet is seeking feedback on the idea of adding optimisation remarks to indicate where non-temporal stores may be profitable.
Quentin Colombet has summarised recent discussion on policies to help release management and detailed the automatic hooks he hopes to explore next for updating bugs when referenced in a commit message. The following discussion looked at how these hooks may be implemented and what level of rigidity would be most beneficial to the community.
Dean Michael Berris is looking for a way of defining a default implementation for a pseudo-instruction. No answers yet, but hopefully that will change soon!
Galina Kistanova is doing some cleanup work on zorg (the buildbot-based testing infrastructure of the LLVM project) and is interested whether anyone uses these seemingly stale modules.
LLVM commits
llc will now report all errors in the input file rather than just exiting after the first. r269655.
The SPARC backend gained support for soft floating point. r269892.
Reloc::Default
no longer exists. Instead,Optional<Reloc>
is used. r269988.An initial implementation of a "guard widening" pass has been committed. This will combine multiple guards to reduce the number of checks at runtime. r269997.
Clang commits
clang-include-fixer gained a basic Vim integration. r269927.
The intrinsics headers now have feature guards enabled in Microsoft mode to combat the compile-time regression discussed last week due to their increased size. r269675.
avxintrin.h gained many new Doxygen comments. r269718.