[llvm-dev] LLVM Weekly - #179, Jun 5th 2017

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 5 13:10:02 PDT 2017


LLVM Weekly - #179, Jun 5th 2017
================================

If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/179>.

Welcome to the one hundred and seventy-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

John Regehr has blogged about [pointer overflow checking in
LLVM](https://blog.regehr.org/archives/1518).

Krister Walfridsson has an [overview of interprocedural optimisations
available in
GCC](https://kristerw.blogspot.co.uk/2017/05/interprocedural-optimization-in-gcc.html).

The next Paris LLVM social [will be held on June 14th
2017](http://lists.llvm.org/pipermail/llvm-dev/2017-May/113455.html),
featuring three guest speakers. Please register if you would like to attend.


## On the mailing lists

* Dimitri Racordon [asked about structure handling in
LLVM](http://lists.llvm.org/pipermail/llvm-dev/2017-May/113442.html). Sean
Silva followed up with
[two](http://lists.llvm.org/pipermail/llvm-dev/2017-May/113551.html)
[fantastic](http://lists.llvm.org/pipermail/llvm-dev/2017-June/113607.html)
responses, which answer this question and much more.

* Matt Dziubinski has followed up to last week's message about optimising
assemblers with a [huge list of references and related
work](http://lists.llvm.org/pipermail/llvm-dev/2017-May/113436.html).

* Kristof Beyls [proposes making armv7a and armv8a default to
mcpu=generic](http://lists.llvm.org/pipermail/llvm-dev/2017-May/113525.html).
He further shows that enabling scheduling for an in-order core is also
beneficial. There seems to be universal agreement.

* Alina Sbirlea has written an RFC on [replacing the AliasSetTracker with
MemorySSA in Loop Invariant Code
Motion](http://lists.llvm.org/pipermail/llvm-dev/2017-May/113470.html).

* Graham Hunter has shared an [updated RFC on supporting Scalable Vector
architectures in LLVM
IR](http://lists.llvm.org/pipermail/llvm-dev/2017-June/113587.html).

* Jake Ehrlich [proposes the implementation of an llvm-objcopy
tool](http://lists.llvm.org/pipermail/llvm-dev/2017-June/113609.html).

* Kristof Beyls has the
[latest](http://lists.llvm.org/pipermail/llvm-dev/2017-May/113531.html)
[performance
numbers](http://lists.llvm.org/pipermail/llvm-dev/2017-June/113588.html) for
GlobalISel at O0 on AArch64.


## LLVM commits

* The PowerPC backend will perform an inline expansion of memcmp, using the
new `expandMemCmp` function in TargetTransformInfo.
[r304313](http://reviews.llvm.org/rL304313).

* The first Nios2 patch has landed.
[r303144](http://reviews.llvm.org/rL304144).

* Documentation on the "Vectorization Plan" model has been added.
[r304161](http://reviews.llvm.org/rL304161).

* Each backend can implement TargetMachine::isMachineVerifierClean to indicate
if machine verifier checks are expected to pass. This will allow the machine
verifier to be enabled by default with `EXPENSIVE_CHECKS`.
[r304320](http://reviews.llvm.org/rL304320).

* The ThinLTO pipeline has been ported to the new pass manager.
[r304407](http://reviews.llvm.org/rL304407).

* A Cortex-A57 scheduling model has been added for AArch32.
[r304530](http://reviews.llvm.org/rL304530).


## Clang commits

* The Undefined Behaviour Sanitizer (UBSan) can now check for overflow on
pointer arithmetic. [r304459](http://reviews.llvm.org/rL304459).

* libclang now exposes the ability to "suspend" a translation unit. This helps
to reduce memory usage, at the cost of requiring a re-parse if more
information is needed from it. [r304212](http://reviews.llvm.org/rL304212).


## Other project commits

* The SBStructuredData class gained an API to access data types directly.
[r304138](http://reviews.llvm.org/rL304138).

* Polly's ability to collect performance statistics has been improved, and
performance counters can now work on a per-SCoP (static control part) basis.
[r304528](http://reviews.llvm.org/rL304528).

* The libcxxabi build system has been refactored to remove the dependence on
LLVM's CMake modules. [r304374](http://reviews.llvm.org/rL304374).


More information about the llvm-dev mailing list