LLVM Weekly - #279, May 6th 2019

Welcome to the two hundred and seventy-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. 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@asbradbury.org, or @llvmweekly or @asbradbury on Twitter.

News and articles from around the web

The next Austin LLVM Social will be on Thursday 30th May.

A Toronto LLVM/Clang meetup will take place on Tuesday 14th May.

Jan Hubička has yet another excellent blog post on compiler optimisation, this time on GCC 9's link-time and inter-procedural optimisation improvements.

GCC 9.1 has been released.

Krister Walfridsson blogged on how LLVM optimises geometric sums.

On the mailing lists

Jesper Antonsson shared an RFC on removing the assumption that 1 byte == 8 bits. This generated plenty of discussion.

Graham Hunter made an update on scalable vector types and SVE upstreaming, including a handy diagram showing the dependencies of the different components and expected controversy level.

Stephen Kelly shared EuroLLVM roundtable notes on future refactoring with AST-matchers.

Todd Snider wrote an RFC on supporting additional symbol metadata in ELF object files as supported by some ARM compilers. e.g. int a __attribute__((location(0x1000))) = 4; .

Andrew Kaylor shares an RFC on extending optimisation reporting. He splits this into two categories, 1) ways to support different sorts of output, and 2) ways to create connections between different events represented in the report.

Serge Guelton is seeking feedback on his effort to generalise LLVM extensions that provide new passes, allowing projects in tools/ that register themselves with an appropriate CMake variable having their passes register in clang/opt/bugpoint.

Johannes Doerfert is seeking input on his proposal for the interplan of Clang and Flag and LLVM for OpenMP.

Stephen Scalpone started a thread on renaming f18, suggesting 'fortran' as the name. Most respondents prefer using the 'flang' name.

LLVM commits

The GlobalISel legalizer documentation was updated. r359705.

More gfx1010 support has been landing in the AMDGPU backend. r359621, r359696, r359698, and more.

In preparation for the AArch64 ILP32 support, DAG pointer size can be different from the memory representation. r359676.

FileCheck gained @LINE numeric expressions. r359741.

The in-tree gn build system gained support for building libunwind, libcxxabi and libc++. r359804, r359805, r359806.

RegAllocFast gained a new heuristic to detect values not live-out of a block. r359906.

Clang commits

Support for the C++2a explicit bool specifier was added. r359949.

Support for C++2a "familiar template syntax for generic lambdas" was committed. r359967.

Other project commits