Alex Bradbury via llvm-dev
2017-Jun-05 20:10 UTC
[llvm-dev] LLVM Weekly - #179, Jun 5th 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).