LLVM Weekly - #262, January 7th 2019
Welcome to the two hundred and sixty-second 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.
Today we are celebrating the fifth anniversary of LLVM Weekly (a previous version of this mailing erroneously claimed a mere four years of continuous service). The first issue was published on Jan 6th 2014 (the first Monday of that year). It has been published every single Monday since, without fail. Thank you for reading, and a special thanks to anyone who has contributed tips or sent feedback.
News and articles from around the web
Student Travel Grant applications for EuroLLVM 2019 are now open.
The final deadline for the CfP for the LLVM Performance Workshop at CGO'19 is this Wednesday, 9th January.
The next Zurich LLVM Compiler Social will take place on Thursday Jan 10th. It features talks on IR extensions for vectorisation, RISC-V vector support in LLVM, and on a 22nm FDSOI RISC-V vector implementation.
On the mailing lists
-
James Y Knight has provided an update on the LLVM git conversion project. A new conversion has been created at the previous URL. The git trailer format is now used to specify the SVN revision and there have been changes to branch names.
-
Serge Guelton announces that most (hopefully all) Python scripts from llvm, clang, and test-suite repositories have been updated to work with both Python 2 and Python 3.
-
Matthew Davis has summarised the current state of the RFC and patch to add binary support to llvm-mca.
-
Dean Michael Berris has shared an RFC on documentation for the XRay framework.
-
Davide Italiano proposes removing
LLVM_ALWAYS_INLINE
from ADT classes. There seems to be full support for this so far. -
Clement Courbet proposes adding an
-memeq-lib-function
flag to allow a user to specify a memeq function, to be used as a more efficient alternative to memcmp when possible. Hal Finkel details reasons why function-level or per-callsite attributes may be preferred. -
Petr Hosek provides some pointers to how Fuchsia does a full cross-build of an LLVM+Clang toolchain.
-
Jonas Devlieghere has shared an RFC on capturing calls to LLDB's SB API in order to support the generation of 'reproducers'.
LLVM commits
-
BasicAA was updated to support arbitrary pointer sizes. r350220.
-
MemorySanitizer has been ported to the new pass manager. r350305.
-
The WebAssembly backed gained optimisations for irreducible control flow. This reduces the size of malloc by 33%. r350367.
Clang commits
-
The clangd codebase was clang-formatted. r350303.
-
A new
objc_externally_retained
attribute was added. This exposes clang's notion of pseudo-strong variables in ObjC ARC. r350422.
Other project commits
-
hwasan was modified to allow the hwasan allocator to defer to the system allocator. This is necessary on Android as the interposition model means some libraries may be using the system allocator and others using the hwasan allocator. r350427.
-
libcxx gained the option to build a static libc++ library that exports no symbols ('hermetic static library'). r350489.