Alex Bradbury via llvm-dev
2016-Jun-27 14:51 UTC
[llvm-dev] LLVM Weekly - #130, Jun 27th 2016
LLVM Weekly - #130, Jun 27th 2016 ================================ If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/130>. Welcome to the one hundred and thirtieth 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. If you're reading this on blog.llvm.org then do note this is LAST TIME it will be cross-posted there directly. There is a great effort underway to increase the content on the LLVM blog, and unfortunately LLVM Weekly has the effect of drowning out this content. As ever, you can head to <http://llvmweekly.org>, subscribe to get it by email, or subscribe to the [RSS feed](http://llvmweekly.org/rss.xml). ## News and articles from around the web After recently being taken down due to excessive resource usage, the [LLVM apt repositories are now back](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101500.html). A detailed [introduction to ThinLTO](http://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.html) has been published on the LLVM blog. This covers the background, design, current status, and usage information for ThinLTO. A post on Reddit gives a summary of [notable language features voted into the C++17 working draft at the Oulu meeting](https://www.reddit.com/r/cpp/comments/4pmlpz/). ## On the mailing lists * Sanjoy Das has written an RFC on [strong GC references in LLVM](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101522.html). The motivating case for this proposal is supporting a precise, relocating garbage collector. * LLVM version 3.8.1-final [has been tagged](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101458.html). * The Google Summer of Code mid-terms have snuck up on us already. The participating students have posted to the mailing lists with a summary of their work so far: * [Finding and reporting bugs caused by copy and paste](http://lists.llvm.org/pipermail/cfe-dev/2016-June/049547.html) * [Enabling LLVM's self-hosted modules builds using libstdc++](http://lists.llvm.org/pipermail/cfe-dev/2016-June/049563.html) * [Capture tracking improvements](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101237.html) * [Improvement of vectorization process in Polly](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101370.html) * [Better alias analysis by default](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101414.html) * [Interprocedural register allocation](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101057.html) * [Polly as an analysis pass](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101314.html) * [Enabling polyhedral optimisations in Julia](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101419.html) * Vivek Pandya wrote the mailing list seeking [advice on adding a new calling convention for interprocedural register allocation](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101319.html). Matthias Braun [summarised some follow-up discussion](http://lists.llvm.org/pipermail/llvm-dev/2016-June/101338.html). ## LLVM commits * The new representation for control-flow integrity and virtual call metadata has landed. The commit message further details the problems this change addresses. [r273729](http://reviews.llvm.org/rL273729). * The `llvm.type.checked.load` intrinsic was added. It loads a function pointer from a virtual table pointer using type metadata. [r273576](http://reviews.llvm.org/rL273576). * As part of the work on CFL-AA, interprocedural function summaries were added. These avoid recomputation for many properties of a function. [r273219](http://reviews.llvm.org/rL273219), [r273596](http://reviews.llvm.org/rL273596). * MemorySSA gained new APIs for PHI creation and MemoryAccess creation. [r273295](http://reviews.llvm.org/rL273295). * Metadata attachments are now allowed for declarations. [r273336](http://reviews.llvm.org/rL273336). * A new runtimes directory was added to the LLVM tree. [r273620](http://reviews.llvm.org/rL273620). * LLVM's dynamic loader gained basic support for COFF ARM. [r273682](http://reviews.llvm.org/rL273682). ## Clang commits * `constexpr if` support has been added to Clang. [r273602](http://reviews.llvm.org/rL273602). * clang-tidy has a new `modernize-use-emplace` check that will replace calls of `push_back` to `emplace_back`. [r273275](http://reviews.llvm.org/rL273275). * The CMake build system for Clang gained a `ENABLE_X86_RELAX_RELOCATIONS` option. [r273224](http://reviews.llvm.org/rL273224). ## Other project commits * Basic support for versioned symbols was added to LLD. [r273143](http://reviews.llvm.org/rL273143). * LLD now handles both single and double dashes for all options. [r273256](http://reviews.llvm.org/rL273256).