Alex Bradbury via llvm-dev
2017-Mar-27 10:49 UTC
[llvm-dev] LLVM Weekly - #169, Mar 27th 2017
LLVM Weekly - #169, Mar 27th 2017 ================================ If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/169>. Welcome to the one hundred and sixty-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. Unfortunately I wasn't able to make it to EuroLLVM this year - I'm looking forward to videos, slides, and reports from the event! ## News and articles from around the web LLVM is taking part in Google Summer of Code again this year and [applications are now open](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111330.html). You might also be interested in submitting a proposal for [lowRISC](http://www.lowrisc.org/docs/gsoc-2017-ideas/). Herb Sutter has written up a [trip report from the Kona ISO C++ standards meeting](https://herbsutter.com/2017/03/24/trip-report-winter-iso-c-standards-meeting-kona-c17-is-complete/). The big news from this meeting was obviously that C++17 has now been submitted for ISO approval. [clang-expand](https://github.com/goldsborough/clang-expand) is a command-line tool that will intelligently "expand" a given function into the current scope. It provides its output in JSON, and offers a sample editor integration. ## On the mailing lists * Reid Kleckner has proposed an [RFC on overhauling the LLVM attribute APIs](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111326.html). * Rui Ueyama [proposes](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111459.html) improving the readability of LLD error messages, making the more informative and easy to read. As you might expect, the idea is popular. * Vedant Kumar has produced a [proposal](http://lists.llvm.org/pipermail/cfe-dev/2017-March/053281.html) for supporting some UBSan issues at compile-time rather than runtime. * Ben Craig has shared an [RFC on adding support for using libc++ in Windows kernel code](http://lists.llvm.org/pipermail/cfe-dev/2017-March/053313.html). * Manuel Rigger [notes](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111371.html) that currently Clang -O0 will perform some optimisations that make life harder for bug finding tools like ASan or Valgrind. As Daniel Berlin [points out](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111379.html), there are cases where at least some optimisations must be applied for correctness. * Kristof Beyls is [collecting input](http://lists.llvm.org/pipermail/llvm-dev/2017-March/111307.html) for the birds of a feather session on GlobalISel at EuroLLVM this week. ## LLVM commits * The compile time overhead for the MachineOutliner has been massively reduced, with the worst compile time increase in the LLVM test suite now being 22%. [r298648](http://reviews.llvm.org/rL298648). * A LazyValueInfo printer pass has been added, which will be useful for debugging. [r298542](http://reviews.llvm.org/rL298542). * Extensive generated tests for PPC atomic operations have been added. [r298614](http://reviews.llvm.org/rL298614). * The global instruction selector will no longer select trivially dead instructions. [r298224](http://reviews.llvm.org/rL298224). * The AMDGPU backend gained an SDWA (Sub-DWORD Addressing) peephole optimisation pass. [r298365](http://reviews.llvm.org/rL298365). * The @llvm.objectsize intrinsic was extended with a new parameter, indicating whether it should act conservatively with null pointers. [r298430](http://reviews.llvm.org/rL298430). * DataLayout::getAlignmentInfo was modified to use a binary search rather than linear scan. [r298579](http://reviews.llvm.org/rL298579). * A new stable-merge-request.sh script has been added. This will create a stable merge request bug in bugzilla for the given SVN revision and release number. [r298705](http://reviews.llvm.org/rL298705). ## Clang commits * A new design proposal has been committed for backward-edge control-flow integrity for return statements. [r298303](http://reviews.llvm.org/rL298303). * A new attribute was added to distinguish between extensible and inextensible enums. [r298332](http://reviews.llvm.org/rL298332). * The `-fno-auto-profile` and `-fno-profile-sample-use` command line options were added. [r298446](http://reviews.llvm.org/rL298446). * Code generation for coroutine await and yield expressions was implemented. [r298784](http://reviews.llvm.org/rL298784). ## Other project commits * C++17 std::byte has been implemented in libcxx. [r298689](http://reviews.llvm.org/rL298689). * The string "compatible with GNU linkers" has been added to the output of `ld.lld -version`. This should improve compatibility with libtool. [r298532](http://reviews.llvm.org/rL298532). * Tests for the compiler-rt builtins have been updated to work with lit. [r298339](http://reviews.llvm.org/rL298339), [r298714](http://reviews.llvm.org/rL298714). * The libcxx vector::clear implementation has been tweaked, resulting in substantially better code generation. [r298601](http://reviews.llvm.org/rL298601).