Alex Bradbury via llvm-dev
2017-Mar-13 12:21 UTC
[llvm-dev] LLVM Weekly - #167, Mar 13th 2017
LLVM Weekly - #167, Mar 13th 2017 ================================ If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/167>. Welcome to the one hundred and sixty-seventh 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 Version 4.0.0 of LLVM and associated projects has [now been tagged](http://lists.llvm.org/pipermail/llvm-dev/2017-March/110870.html). The full release should be imminent. A new LLVM blog post from Piotr Padlewski [discusses the state of devirtualization in LLVM+Clang as well as future work](http://blog.llvm.org/2017/03/devirtualization-in-llvm-and-clang.html). Pre-built packages of LLVM and Clang are [now available](http://lists.llvm.org/pipermail/llvm-dev/2017-March/110737.html) for chocolatey, a package manager for Windows. The first LLVM social in Sweden [will be held](http://lists.llvm.org/pipermail/llvm-dev/2017-March/110734.html) on Wednesday March 15th. The first LLVM/Clang summer school [will be held](http://www-hpc.cea.fr/SummerSchools/SummerSchools2017-CS.htm) June 12th-16th in Paris. ## On the mailing lists * Paul Walker has shared an RFC on [extending vector types to support SVE registers](http://lists.llvm.org/pipermail/llvm-dev/2017-March/110772.html). The main focus in this RFC is providing is in providing sufficient support for the MC layer to be implemented and upstreamed. * Chandler Carruth reports that the [proposal to avoid optimising based on the nonnull attribute in glibc headers](http://lists.llvm.org/pipermail/cfe-dev/2017-March/053019.html) is actually much more straight-forward than first thought. There is zero chance of a performance regression because due to a bug, these attributes weren't actually used previously. * Wei Mi has shared an RFC on '[bitfield access shrinking](http://lists.llvm.org/pipermail/llvm-dev/2017-March/110895.html)'. This takes advantage of the case where native operations can be used to access a properly aligned and sized bitfield. One suggestion was to add new intrinsics for bitfield extract/insert, although it was felt [there are difficult tradeoffs here](http://lists.llvm.org/pipermail/llvm-dev/2017-March/110943.html), particularly around the need to canonicalize towards these intrinsics. * Paul Robinson started a discussion around [versioning DWARF constants](http://lists.llvm.org/pipermail/llvm-dev/2017-March/110823.html). * Johannes Doerfert is [looking for volunteers and topics](http://lists.llvm.org/pipermail/llvm-dev/2017-March/110805.html) for the Hacker's Lab at EuroLLVM. * James Molloy has posted a reworked RFC on [adding pragma section directives to Clang](http://lists.llvm.org/pipermail/cfe-dev/2017-March/053023.html). This pragma controls section names, something which is required for the AUTOSAR automotive standard. ## LLVM commits * The recently added 'debug counters' tool for debugging passes has been documented in the LLVM programmer's manual. [r297575](http://reviews.llvm.org/rL297575). * APInt has gained a number of new helper functions, such as setLowBits/setHighBits and setBitsFrom. [r297111](http://reviews.llvm.org/rL297111), [r297114](http://reviews.llvm.org/rL297114). * The tables used to map EVEX encoded X86 instructions to VEX instructions are now automatically generated using a new tablegen emitter. [r297127](http://reviews.llvm.org/rL297127). * FileCheck now has a `--enable-var-scope` options which restricts the scope of regex variables in tests. [r297396](http://reviews.llvm.org/rL297396). ## Clang commits * Documentation on clang-format has been much improved with the addition of new examples demonstrating the impact of each setting. [r297025](http://reviews.llvm.org/rL297025), [r297275](http://reviews.llvm.org/rL297275). * The huge lib/Driver/Toolchains.cpp file has been broken up into separate files per architecture and platform. [r297250](http://reviews.llvm.org/rL297250). ## Other project commits * The Lit-based benchmark runner in the LLVM test-suite has seen its documentation expanded. [r297570](http://reviews.llvm.org/rL297570). * LLD now supports the `-znotext` command-line argument, which controls whether relocations are permitted in read-only segments. [r297366](http://reviews.llvm.org/rL297366). * Enough AArch64 for 'offload-to-self' was added to LLVM's openmp library. [r297070](http://reviews.llvm.org/rL297070). * OpenMP 5.0 headers where added to LLVM's openmp runtime. [r297083](http://reviews.llvm.org/rL297083).