Alex Bradbury via llvm-dev
2015-Sep-07 17:55 UTC
[llvm-dev] LLVM Weekly - #88, Sep 7th 2015
LLVM Weekly - #88, Sep 7th 2015 ============================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/88>. Welcome to the eighty-eighth 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 The biggest news from the past week is of course the [release of LLVM and Clang 3.7](http://lists.llvm.org/pipermail/llvm-dev/2015-September/089935.html). See the [LLVM release notes](http://llvm.org/releases/3.7.0/docs/ReleaseNotes.html) and the [Clang release notes](http://llvm.org/releases/3.7.0/tools/clang/docs/ReleaseNotes.html) for more details. Slides from the 2015 GNU Tools Cauldron are [now available online](https://gcc.gnu.org/wiki/cauldron2015#Slides_and_Notes). Version 1.12 of TCE, the TTA-based co-design environment [has been released](http://lists.llvm.org/pipermail/llvm-dev/2015-September/090050.html). ## On the mailing lists * David Li has posted an [RFC on reducing the size overhead for profile-guided optimisation](http://lists.llvm.org/pipermail/llvm-dev/2015-September/090039.html). He observes that right now, Clang's PGO instrumentation increases binary size by 4.6X compared to 2.8X or GCC. * The Hip-Hop Virtual Machine team (a JITting virtual machine for PHP and Hack) have been looking at [utilising LLVM as a backend](http://lists.llvm.org/pipermail/llvm-dev/2015-September/090030.html). As part of this work, they've generated a number of patches that they're now looking to upstream. Sanjoy and Philip (Azul) have volunteered to help review the patches. With active work on Java (Azul), MSIL/C# (Microsoft), Python (Dropbox) and now PHP/Hack (Facebook) there seems to be a growing number of teams looking at improving LLVM when used for optimising higher-level languages. * Dylan McKay has been maintaining and developing an AVR backend for LLVM out of tree, and is now [interested in merging it upstream](http://lists.llvm.org/pipermail/llvm-dev/2015-September/090038.html). * Steve King is [proposing a new LoopExitValues pass](http://lists.llvm.org/pipermail/llvm-dev/2015-August/089867.html) which aims to remove recomputations of loop exit values. This [follow-up message](http://lists.llvm.org/pipermail/llvm-dev/2015-September/089992.html) perhaps makes it clearer what the pass does. * Teresa Johnson continues to work on ThinLTO and has now [shared a revamped ThinLTO file format document](http://lists.llvm.org/pipermail/llvm-dev/2015-September/089925.html). She's also created this [handy website](https://sites.google.com/site/llvmthinlto/) to track the current RFCs and patches for ThinLTO. * John Regehr has [shared some results from Souper](http://lists.llvm.org/pipermail/llvm-dev/2015-September/089904.html) that point to areas where computeKnownBits could be improved. * I missed this last week, but Ben Craig has been [looking at ways to improve the speed of Clang's static analyzer](http://lists.llvm.org/pipermail/cfe-dev/2015-August/044817.html). Ted Kremenek gives some [useful general guidance](http://lists.llvm.org/pipermail/cfe-dev/2015-August/044825.html). ## LLVM commits * The LLVM plugin for the gold linker now supports parallel LTO code generation. [r246584](http://reviews.llvm.org/rL246584). * The 'unpredictable' metadata annotation is now supported. This can be used to signal that a branch or switch is unpredictable. [r246888](http://reviews.llvm.org/rL246888). * A tool built on libFuzzer to fuzz llvm-as has been added. [r246458](http://reviews.llvm.org/rL246458). * The FunctionAttrs pass learned to infer nonnull attributes on returns. [r246476](http://reviews.llvm.org/rL246476). * Work on Windows exception handling continues with the addition of the cleanupendpad instruction and the llvm.eh.exceptionpointer intrinsic. [r246751](http://reviews.llvm.org/rL246751), [r246752](http://reviews.llvm.org/rL246752). ## Clang commits * Basic support for the WebAssembly target landed in Clang. Basic codegen is supported, but not yet assembling or linking. [r246814](http://reviews.llvm.org/rL246814). * Clang will now warn when you reference object members from a handler of a constructor/destructor function-try-block. [r246548](http://reviews.llvm.org/rL246548). * Clang learnt the `__builtin_unpredictable` builtin, which will generate the newly added unpredictable metadata. [r246699](http://reviews.llvm.org/rL246699). ## Other project commits * The new ELF lld linker gained basic archive file support. [r246886](http://reviews.llvm.org/rL246886). * Language plugins in LLDB can now provide data formatters. [r246568](http://reviews.llvm.org/rL246568).