LLVM Weekly - #41, Oct 13th 2014 =============================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/41>. 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](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. I've been in Munich for ORCONF this weekend. Slides from my talk about [lowRISC](http://www.lowrisc.org) are available [here](https://speakerdeck.com/asb/lowrisc-a-first-look). ## News and articles from around the web ELLCC, the LLVM/Clang-based cross development toolkit [now has Windows binaries available](http://ellcc.org/blog/?p=18096). IBM have [posted a bounty](https://www.bountysource.com/issues/5136793-addresssanitizer-tests-fail-for-powerpc64) on fixing the AddressSanitizer tests that fail on PowerPC. GCC needs you! A large number of [potential starting points for new contributors](https://gcc.gnu.org/ml/gcc/2014-10/msg00040.html) 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](http://article.gmane.org/gmane.comp.compilers.llvm.devel/77745), mentioning LLVM JIT functionality and GC as areas of interest. Philip Reames [responded](http://article.gmane.org/gmane.comp.compilers.llvm.devel/77750) with a good description of the current state and also noted his patchset for [GC statepoint intrinsics](http://reviews.llvm.org/D5683) 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](http://article.gmane.org/gmane.comp.compilers.llvm.devel/77753). * Peter Collingbourne has [proposed official Go bindings be added to the LLVM project](http://article.gmane.org/gmane.comp.compilers.llvm.devel/77678). Thus far all replies seem positive. * Saleem Abdulrasool points out that [lld doesn't conform to the LLVM/Clang coding style](http://article.gmane.org/gmane.comp.compilers.llvm.devel/77537). 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](http://git.661346.n2.nabble.com/PATCH-blame-can-specify-shas-of-commits-to-ignore-on-command-line-td5001395.html) 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](http://reviews.llvm.org/rL219223). * llvm-symbolizer will now be used to symbolize LLVM/Clang crash dumps. [r219534](http://reviews.llvm.org/rL219534). * The calculation of loop trip counts for loops with multiple exits has been de-pessimized. [r219517](http://reviews.llvm.org/rL219517). * MIPS fast-isel learnt integer and floating point compare and conditional branches. [r219518](http://reviews.llvm.org/rL219518), [r219530](http://reviews.llvm.org/rL219530), [r219556](http://reviews.llvm.org/rL219556). * R600 gained a load/store machine optimizer pass. [r219533](http://reviews.llvm.org/rL219533). ## Clang commits * The integrated assembler has been turned on by default for ppc64 and ppc64le. [r219129](http://reviews.llvm.org/rL219129). * clang-format's interpretation of special comments to disable formatting within a delimited range has been documented. [r219204](http://reviews.llvm.org/rL219204). * The integrated assembler has been turned on by default for SystemZ. [r219426](http://reviews.llvm.org/rL219426). ## Other project commits * lld gained support for 'fat' mach-o archives. [r219268](http://reviews.llvm.org/rL219268). * The lldbtk example has seen some further development. [r219219](http://reviews.llvm.org/rL219219). * lldb-gdbserver can now be used for local-process Linux debugging. [r219457](http://reviews.llvm.org/rL219457). * The disassembly format for lldb can now be customized. [r219544](http://reviews.llvm.org/rL219544).