Alex Bradbury via llvm-dev
2017-Jan-16 14:02 UTC
[llvm-dev] LLVM Weekly - #159, Jan 16th 2017
LLVM Weekly - #159, Jan 16th 2017 ================================ If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/159>. Welcome to the one hundred and fifty-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 Erik Corry has written up the details of an exciting experiment to [compile Dart code using LLVM](https://medium.com/dartlang/dart-on-llvm-b82e83f99a70). John Regehr has written up a great explanation of [how LLVM is tested](http://blog.regehr.org/archives/1450). In the context of [recent news](https://www.tesla.com/blog/welcome-chris-lattner), Alex Rosenberg has [reiterated Apple's commitment to LLVM, Clang, and open source](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108953.html). Alessandro Di Federico has written "yet another" Python binding for LLVM, [llvmcpy](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108946.html). Registration is [now open](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108889.html) for EuroLLVM 2017. This will be held March 27-28 in Saarbrücken (Germany). The deadline to submit a talk, workshop or BoF proposal is January 27th. ## On the mailing lists * Hal Finkel and Xinmin Tian have created an extensive proposal for adding [IR-level region annotations](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108906.html). It is intended to be used to represent directives for parallelization, vectorization. The proposal spawned lots of discussion. Vikram Adve is concerned the [parallel IR extensions may not be sufficiently language-neutral](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108957.html). * Mehdi Amini has helpfully [summarised the current status of the LLVM git transition](http://lists.llvm.org/pipermail/llvm-dev/2017-January/109015.html). * Quentin Colombet has proposed that [GlobalISel be built by default](http://lists.llvm.org/pipermail/llvm-dev/2017-January/109029.html). GlobalISel of course isn't used by default, so the main impact would be a slightly higher LLVM build time and larger binary size. Renato Golin [raised some concerns](http://lists.llvm.org/pipermail/llvm-dev/2017-January/109054.html). * Paul Robinson started a discussion about [repurposing the 'optnone' attribute](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108890.html) so it explicitly matches the behaviour of -O0. * Hans Wennborg reports that the [4.0.0 release has now branched](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108949.html). This means the releases process has started and a first release candidate should be available shortly. * Francois Fayard is curious about [what options have been investigated for LLVM's DenseMap hash function](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108793.html). He followed up with [some benchmarks from experimenting with different hash functions](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108866.html). * Shiva Chen has proposed a [new LLVM backend for the AndesTech NDS32 V3 ISA](http://lists.llvm.org/pipermail/llvm-dev/2017-January/108964.html). ## LLVM commits * The processing of `@llvm.assume` intrinsics has been made more efficient. [r291671](http://reviews.llvm.org/rL291671). * The llvm-xray tool now supports trace file conversion and function call accounting (generating basic statistics based on logs). [r291529](http://reviews.llvm.org/rL291529), [r291749](http://reviews.llvm.org/rL291749). * The 'googlemock' component of Google Test has been imported into the LLVM source tree. [r291606](http://reviews.llvm.org/rL291606). * The loop invariant code motion pass learnt to emit optimisation remarks. [r291646](http://reviews.llvm.org/rL291646), [r291648](http://reviews.llvm.org/rL291648), [r291649](http://reviews.llvm.org/rL291649). * The loop pass manager has seen a major redesign. [r291651](http://reviews.llvm.org/rL291651), [r291662](http://reviews.llvm.org/rL291662). * Functionality for accessing XRay trace logs is now exposed in `include/llvm/XRay/Trace.h`. [r291651](http://reviews.llvm.org/rL291652). ## Clang commits * The `diagnose_if` attribute is now supported. This can be used to have clang emit a particular warning or error for function invocations that meet the given conditions. [r291418](http://reviews.llvm.org/rL291418). * Clang will now track the source location of exception specifications. [r291771](http://reviews.llvm.org/rL291771). * Support was added for warning about unused C++ lambda captures. [r291905](http://reviews.llvm.org/rL291905). ## Other project commits * LLD gained support for the `-Map` option, allowing a link map to be specified on the command line. [r291958](http://reviews.llvm.org/rL291958). * libcxx can now be built against the debug MSVC runtimes. [r292006](http://reviews.llvm.org/rL292006).