[llvm-dev] LLVM Weekly - #155, Dec 19th 2016

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Dec 19 02:33:06 PST 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).


More information about the llvm-dev mailing list