[llvm-dev] LLVM Weekly - #167, Mar 13th 2017

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Mar 13 05:21:36 PDT 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).


More information about the llvm-dev mailing list