LLVM Weekly - #167, Mar 13th 2017
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. Subscribe to future issues at https://llvmweekly.org and pass it on to anyone else you think may be interested. Please send any tips or feedback to asb@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. 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.
Pre-built packages of LLVM and Clang are now available for chocolatey, a package manager for Windows.
The first LLVM social in Sweden will be held on Wednesday March 15th.
The first LLVM/Clang summer school will be held June 12th-16th in Paris.
On the mailing lists
-
Paul Walker has shared an RFC on extending vector types to support SVE registers. 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 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'. 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, particularly around the need to canonicalize towards these intrinsics.
-
Paul Robinson started a discussion around versioning DWARF constants.
-
Johannes Doerfert is looking for volunteers and topics for the Hacker's Lab at EuroLLVM.
-
James Molloy has posted a reworked RFC on adding pragma section directives to Clang. 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.
-
APInt has gained a number of new helper functions, such as setLowBits/setHighBits and setBitsFrom. r297111, r297114.
-
The tables used to map EVEX encoded X86 instructions to VEX instructions are now automatically generated using a new tablegen emitter. r297127.
-
FileCheck now has a
--enable-var-scope
options which restricts the scope of regex variables in tests. r297396.
Clang commits
-
Documentation on clang-format has been much improved with the addition of new examples demonstrating the impact of each setting. r297025, r297275.
-
The huge lib/Driver/Toolchains.cpp file has been broken up into separate files per architecture and platform. r297250.
Other project commits
-
The Lit-based benchmark runner in the LLVM test-suite has seen its documentation expanded. r297570.
-
LLD now supports the
-znotext
command-line argument, which controls whether relocations are permitted in read-only segments. r297366. -
Enough AArch64 for 'offload-to-self' was added to LLVM's openmp library. r297070.
-
OpenMP 5.0 headers where added to LLVM's openmp runtime. r297083.