Alex Bradbury via llvm-dev
2015-Nov-23 11:57 UTC
[llvm-dev] LLVM Weekly - #99, Nov 23rd 2015
LLVM Weekly - #99, Nov 23rd 2015 =============================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/99>. Welcome to the ninety-ninth 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. ## News and articles from around the web LLVM/Clang 3.7.1-rc2 [has been tagged](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092684.html). As always, help testing is appreciated. Clasp 0.4 [has been released](https://drmeister.wordpress.com/2015/11/20/clasp-0-4-joining-common-lisp-and-cxx/). Clasp is a new Common Lisp implementation that uses LLVM as a compiler backend and aims to offer seamless C++ interoperation. ## On the mailing lists * Quentin Colombet has shared a [plan for moving forwards with global instruction selection](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092566.html), as proposed in his [Dev Meeting talk](https://www.youtube.com/watch?v=F6GGbYtae3g). There's a lot of enthusiasm for this work, though some questions about how in practical terms the development should proceed and be tested. There is also hope that this new work will [allow the distinction between integers and pointers to be preserved through to MachineInstructions](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092616.html). This is useful both [for GC](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092612.html) and for [architectures where pointers aren't integers](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092609.html). * Eric Christopher has shared a [summary of discussions from the recent Birds of a Feather discussion on the LLVM C API](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092623.html). This includes proposed policy for stability guarantees and extending the APIs. * Ed Maste has been experimenting with [linking the FreeBSD base system with lld](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092572.html). With a few extra patches he's managed to link the whole FreeBSD userland. * Artem Dergachev has shared some [minutes from a call about summary-based inter-procedural analysis](http://lists.llvm.org/pipermail/cfe-dev/2015-November/046136.html) for Clang's static analyser. * Steve King is [concerned about recent code size regressions with Os](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092611.html). The issue was [bisected](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092675.html) to recent changes to the heuristic for merging conditional stores. James Molloy, who authored the patch in question suggests [more investigation is necessary](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092679.html). * Rail Shafigulin is working on a custom VLIW architecture and has had a [number](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092665.html) [of](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092467.html) [questions](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092531.html) [about](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092518.html) [the](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092480.html) DFAPacketizer. Krzysztof Parzyszek has provided useful answers each time - well worth a read of these threads if you're doing any work with VLIW or want to learn more about DFAPacketizer. * Nick Johnson pointed out an [interesting potential bug in the LiveVariables pass](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092526.html). There haven't been any responses yet, but he has followed up with a [patch to fix the issue](http://reviews.llvm.org/D14875). * Amjad Aboud has posted a [detailed RFC on ensuring LLVM debug info supports all lexically scoped entities](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092551.html). He includes a simple example which shows where block-local typedefs or class definitions can lead to problems. ## LLVM commits * Initial support for value profiling landed. [r253484](http://reviews.llvm.org/rL253484). * It is now possible to use the `-force-attribute` command-line option for specifying a function attribute for a particular function (e.g. norecurse, noinline etc). This should be very useful for testing. [r253550](http://reviews.llvm.org/rL253550). * The WebAssembly backend gained initial prototype passes for register coloring (on its virtual registers) and register stackifying. [r253217](http://reviews.llvm.org/rL253217), [r253465](http://reviews.llvm.org/rL253465). * The built-in assembler now treats fatal errors as non-fatal in order to report all errors in a file rather than just the first one encountered. [r253328](http://reviews.llvm.org/rL253328). * As [discussed on the mailing list last week](http://lists.llvm.org/pipermail/llvm-dev/2015-November/092238.html), lane masks are now always precise. [r253279](http://reviews.llvm.org/rL253279). * Support for prelinking has been dropped. See the commit message for a full rationale. [r253280](http://reviews.llvm.org/rL253280). * llvm-lto can now be used to emit assembly rather than object code. [r253622](http://reviews.llvm.org/rL253622), [r253624](http://reviews.llvm.org/rL253624). ## Clang commits * Clang should now be usable for CUDA compilation out of the box. [r253389](http://reviews.llvm.org/rL253389). * When giving the `-mcpu/-march` options to Clang targeting ARM, you can now specify `+feature`. [r253471](http://reviews.llvm.org/rL253471). ## Other project commits * Compiler-rt gained support for value profiling. [r253483](http://reviews.llvm.org/rL253483). * The 'new ELF linker' is now the default ELF linker in lld. [r253318](http://reviews.llvm.org/rL253318). * The LLVM test suite gained support for running SPEC2000int and SPEC2006int+fp with PGO and reference inputs. [r253362](http://reviews.llvm.org/rL253362).