[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
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
Krister Walfridsson has an [overview of interprocedural optimisations
The next Paris LLVM social [will be held on June 14th
featuring three guest speakers. Please register if you would like to attend.
## On the mailing lists
* Dimitri Racordon [asked about structure handling in
Silva followed up with
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
* Kristof Beyls [proposes making armv7a and armv8a default to
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
* Graham Hunter has shared an [updated RFC on supporting Scalable Vector
architectures in LLVM
* Jake Ehrlich [proposes the implementation of an llvm-objcopy
* Kristof Beyls has the
GlobalISel at O0 on AArch64.
## LLVM commits
* The PowerPC backend will perform an inline expansion of memcmp, using the
new `expandMemCmp` function in TargetTransformInfo.
* The first Nios2 patch has landed.
* Documentation on the "Vectorization Plan" model has been added.
* 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`.
* The ThinLTO pipeline has been ported to the new pass manager.
* A Cortex-A57 scheduling model has been added for AArch32.
## 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.
* Polly's ability to collect performance statistics has been improved, and
performance counters can now work on a per-SCoP (static control part) basis.
* 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