LLVM Weekly - #233, June 18th 2018
Welcome to the two hundred and thirty-third 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
The 2018 LLVM Developers' Meeting has been announced for October 17th-18th in San Jose. Registration is now open.
zapcc, a caching C++ compiler based on Clang is now open source. It claims substantial speedups for heavily-templated C++. See this previous cfe-dev post for an overview of the technology.
On the mailing lists
-
Hal Finkel is arranging a poll on the date to hold a webinar on the proposed rewrite of Flang, "Clang for Fortran".
-
Alex Bradbury kicked off an RFC thread on the lowering of atomic LL/SC loop in LLVM. This revisits a topic raised by James Knight in 2016. Most architectures have restrictions on the form of an LL/SC loop (e.g. number and type of instructions, presence of other memory accesses) in order to guarantee forward progress. This thread proposes a late expansion lowering strategy for the inner LL/SC loop, while expanding anything else at the IR level. Tim Northover is concerned about possible performance loss, and Krzysztof Parzyszek comments that Hexagon actually has no real restrictions on LL/SC loops.
-
Pavel Labath has given an update on efforts to add DWARF5 accelerator table support to LLVM, while Paul Robinson gave a broad update on DWARF v5 support.
-
Paul Robinson started a discussion on bug-closing protocol.
LLVM commits
-
A new compact binary format is supported for sample profiles, reducing the size by about 2/3rds. r334447.
-
Codegen support for atomics has started to land for RISC-V. r334590, r334591.
-
The microMIPS size reduction pass has been extended to transform SW/LW pairs to SWP/LWP. r334595.
-
There is now a default SelectionDAG expansion for rotates. r334497.
-
A new merge-git.sh script has been added, performing similar functionality to the svn-based merge.sh script. r334568.
Clang commits
-
The new
-fforce-emit-vtables
option forces the emission of vtables even in modules where it isn't necessary, which increases opportunities for devirtualisation. r334600. -
clang-format gained a new BreakInheritanceList option. r334408.