LLVM Weekly - #318, February 3rd 2020
Welcome to the three hundred and eighteenth 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
LLVM 10.0.0-rc1 has been tagged.
The program for EuroLLVM 2020 is now online. The early bird registration rate is available through to Feb 27th.
Joel Laity wrote a piece about libc++'s implementation of std::string, and the optimisations it uses.
Martin Dørum wrote up how he modified Clang to trial a new C++ lambda syntax.
The HPVM (Heterogenous Parallel Virtual Machine) research project has announced its v0.5 release.
On the mailing lists
-
Tom Stellard restarted discussion on moving from Bugzilla to GitHub issues, proposing that creation of new bugs on bugzilla be disabled from Feb 11th. Most concerns raised were related to the loss of ability to be automatically subscribed to a subset of bugs (e.g. those with a certain label).
-
Serge Guelton proposes the deprecation of Python 2.x support during 2020, moving to a Python 3 requirement from Jan 2021. He follows up with a proposed timeline.
-
Eli Friedman wrote up an RFC on extending shufflevector for vscale vectors (e.g. SVE). The proposal defines a number of named shuffles that express common patterns.
-
Andrew Kaylor wrote up a summary of floating point semantic modes, with the intent of turning this into documentation for Clang.
-
Nemanja Ivanovic asks about supporting specialised operations on multiple registers in a backend and receives some useful advice.
LLVM commits
-
llvm::StringRef
tostd::string
conversions were made explicit throughout the codebase. adcd026, 777180a. -
A ThinLTOJIT example was added. 234f3b1.
-
Optimization remarks are now generated for matrix expressions. 949294f.
-
MIPS GlobalISel can now select count leading zeros, count trailing zeros, and popcount. 2b66d32, 8bc7ba5, cbf03aee.
-
TableGen will now emit string literals instead of char arrays in most cases, to make its output more readable and debuggable. 482e890.
-
A new
@llvm.memcpy.inline
intrinsic was added. 879c825. -
llvm-objcopy and llvm-symbolizer gained some initial support for wasm. a928d12, da6a896.
-
Documentation was added for the IR attribute "vector-function-abi-variant". 4bc07c3.
-
The Attributor framework gained a pointer privatization attribute. 89c2e73.
Clang commits
-
The
-fsemantic-interposition
flag was implemented, allowing for the interposition of a symbol by another at runtime and thus preventing a variety of inter-procedural optimisations. fd09f12. -
It is now possible to limit the number of pre-processor tokens in a translation unit. 739b410.
-
The new
-ibuiltininc
flag lets the Darwin driver include Clang builtin headers even with-nostdinc
. f96f64d.