LLVM Weekly - #41, Oct 13th 2014
Welcome to the forty-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.
I've been in Munich for ORCONF this weekend. Slides from my talk about lowRISC are available here.
The canonical home for this issue can be found here at llvmweekly.org.
News and articles from around the web
ELLCC, the LLVM/Clang-based cross development toolkit now has Windows binaries available.
IBM have posted a bounty on fixing the AddressSanitizer tests that fail on PowerPC.
GCC needs you! A large number of potential starting points for new contributors has been posted to the GCC mailing list.
On the mailing lists
Hayden Livingston is curious about examples of LLVM usage for whole program optimisations, mentioning LLVM JIT functionality and GC as areas of interest. Philip Reames responded with a good description of the current state and also noted his patchset for GC statepoint intrinsics is up for review and should hopefully be merged in the coming weeks. Filip Pizlo who worked on Apple's FTL JS JIT responded to advocate use of a Bartlett-style mostly-copying collector.
Peter Collingbourne has proposed official Go bindings be added to the LLVM project. Thus far all replies seem positive.
Saleem Abdulrasool points out that lld doesn't conform to the LLVM/Clang coding style. As you can imagine, few topics attract more feedback from developers than whitespace and variable naming conventions so the thread is rather long. There's general agreement that it would be better if lld used the LLVM style, though unease about moving over in a single large patch on the basis that this would dirty commit history and make git/svn blame less useful. A patch was submitted to git some years ago to implement the ability to ignore certain shas in git blame but it seems the feature was never added.
LLVM commits
Switches with only two cases and a default are now optimised to a couple of selects. r219223.
llvm-symbolizer will now be used to symbolize LLVM/Clang crash dumps. r219534.
The calculation of loop trip counts for loops with multiple exits has been de-pessimized. r219517.
MIPS fast-isel learnt integer and floating point compare and conditional branches. r219518, r219530, r219556.
R600 gained a load/store machine optimizer pass. r219533.
Clang commits
The integrated assembler has been turned on by default for ppc64 and ppc64le. r219129.
clang-format's interpretation of special comments to disable formatting within a delimited range has been documented. r219204.
The integrated assembler has been turned on by default for SystemZ. r219426.