Alex Bradbury via llvm-dev
2016-Dec-19 10:33 UTC
[llvm-dev] LLVM Weekly - #155, Dec 19th 2016
LLVM Weekly - #155, Dec 19th 2016 ================================ If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/155>. Welcome to the one hundred and fifty-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](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's [new versioning scheme](http://blog.llvm.org/2016/12/llvms-new-versioning-scheme.html) has been announced on the LLVM blog. LLVM's version number will now increase by 1.0 for each major release, i.e. the next release will be 4.0 and the release 6 months later will be 5.0. The schedule for the 2017 FOSDEM LLVM devroom has been [announced](http://lists.llvm.org/pipermail/llvm-dev/2016-December/108240.html). It will take place on February 5th 2017 in Brussels. ## On the mailing lists * Davide Italiano has presented a [summary analysis of how LLVM's middle-end has been getting slower over the past 6 months](http://lists.llvm.org/pipermail/llvm-dev/2016-December/108279.html). InstCombine, GVN, and CorrelatedValuePropagation are amongst the most costly passes on Davide's experiments. Daniel Berlin had an [interesting response](http://lists.llvm.org/pipermail/llvm-dev/2016-December/108300.html) to the observation that GCC seems to use more sophisticated algorithms (or at least, its source references more papers). * Last week's [LLD status update](http://lists.llvm.org/pipermail/llvm-dev/2016-December/107981.html) thread has had a huge number of responses over the past week. Many of these centered around a desire for LLD to expose a library interface. Sean Silva has [summarised](http://lists.llvm.org/pipermail/llvm-dev/2016-December/108140.html) many of the common suggested use-cases and his personal view on them. As Rui [noted](http://lists.llvm.org/pipermail/llvm-dev/2016-December/108248.html), much of the arguments in the thread seemed to stem from communication issues. * David Blaikie [reports](http://lists.llvm.org/pipermail/llvm-dev/2016-December/108270.html) that he's added GDB pretty printers for a selection of LLVM ADTs. * Sanjay Patel [kicked off a discussion](http://lists.llvm.org/pipermail/llvm-dev/2016-December/108182.html) about analysis using the nonnull attribute. ## LLVM commits * The processing of @llvm.assume intrinsics has been made more efficient by using operand bundles. The old AssumptionCache has been removed. [r289755](http://reviews.llvm.org/rL289755), [r289756](http://reviews.llvm.org/rL289756). * The ARM backend now supports codegen for execute-only code (i.e. code intended to placed in a page without read permissions). [r289784](http://reviews.llvm.org/rL289784). * LLVM's aggressive dead code elimination pass gained the ability to remove unnecessary control flow. This is the final piece of a series of patches to achieve that goal. [r289548](http://reviews.llvm.org/rL289548). * The AVR backend gained a function instrumentation pass, which adds calls to hook functions. [r289641](http://reviews.llvm.org/rL289641). * The PIC relocation model is now used by default for PPC64 ELF. This change matches GCC behaviour. [r289743](http://reviews.llvm.org/rL289743). * Loop vectorisation of loops with conditional stores is now enabled by default. [r289975](http://reviews.llvm.org/rL289975). ## Clang commits * clang-tools-extra gained new checkers. cppcoreguidelines-no-malloc will flag up uses of C-style memory management (malloc and friends) in C++ code, while performance-type-promotio-in-math-fn will suggest calls to double-precision math.h functions with float arguments be changed to the single-precision version. [r289546](http://reviews.llvm.org/rL289546), [r289627](http://reviews.llvm.org/rL289627). * inrange annotations are now used on vtable getelementptr. This allows the optimiser to split vtable groups. [r289585](http://reviews.llvm.org/rL289585). * You can now set the default linker when building clang through `CLANG_DEFAULT_LINKER`. [r289668](http://reviews.llvm.org/rL289668). * Clang gained a testbed and skeleton of a new expression parser. [r290004](http://reviews.llvm.org/rL290004). ## Other project commits * It is now possible to build lld standalone, i.e. with an existing LLVM installation. [r289421](http://reviews.llvm.org/rL289421). * formatv support has been sprinkled throughout LLDB. [r289922](http://reviews.llvm.org/rL289922).