Alex Bradbury via llvm-dev
2020-Feb-03 18:41 UTC
[llvm-dev] LLVM Weekly - #318, Feb 3rd 2020
LLVM Weekly - #318, Feb 3rd 2020 =============================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/318>. 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](https://www.linkedin.com/in/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 at asbradbury.org>, or @llvmweekly or @asbradbury on Twitter. ## News and articles from around the web LLVM 10.0.0-rc1 [has been tagged](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138806.html). The program for EuroLLVM 2020 [is now online](www.llvm.org/devmtg/2020-04/#program). The early bird registration rate is available through to Feb 27th. Joel Laity wrote a piece about [libc++'s implementation of std::string](https://joellaity.com/2020/01/31/string.html), and the optimisations it uses. Martin Dørum wrote up [how he modified Clang to trial a new C++ lambda syntax](https://mort.coffee/home/clang-compiler-hacking/). The HPVM (Heterogenous Parallel Virtual Machine) research project [has announced its v0.5 release](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138724.html). ## On the mailing lists * Tom Stellard [restarted discussion on moving from Bugzilla to GitHub issues](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138797.html), 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](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138730.html), moving to a Python 3 requirement from Jan 2021. He follows up [with a proposed timeline](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138792.html). * Eli Friedman wrote up an RFC on [extending shufflevector for vscale vectors](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138762.html) (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](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138652.html), with the intent of turning this into documentation for Clang. * Nemanja Ivanovic [asks about supporting specialised operations on multiple registers in a backend](http://lists.llvm.org/pipermail/llvm-dev/2020-January/138638.html) and receives some useful advice. ## LLVM commits * `llvm::StringRef` to `std::string` conversions were made explicit throughout the codebase. [adcd026](https://reviews.llvm.org/rGadcd0268385), [777180a](https://reviews.llvm.org/rG777180a32b6). * A ThinLTOJIT example was added. [234f3b1](https://reviews.llvm.org/rG234f3b16918). * Optimization remarks are now generated for matrix expressions. [949294f](https://reviews.llvm.org/rG949294f3962). * MIPS GlobalISel can now select count leading zeros, count trailing zeros, and popcount. [2b66d32](https://reviews.llvm.org/rG2b66d32f3f4), [8bc7ba5](https://reviews.llvm.org/rG8bc7ba5b9ee), [cbf03aee](https://reviews.llvm.org/rGcbf03aee6d8). * TableGen will now emit string literals instead of char arrays in most cases, to make its output more readable and debuggable. [482e890](https://reviews.llvm.org/rG482e890d1f9). * A new `@llvm.memcpy.inline` intrinsic was added. [879c825](https://reviews.llvm.org/rG879c825cb80). * llvm-objcopy and llvm-symbolizer gained some initial support for wasm. [a928d12](https://reviews.llvm.org/rGa928d127a52), [da6a896](https://reviews.llvm.org/rGda6a896e6b1). * Documentation was added for the IR attribute "vector-function-abi-variant". [4bc07c3](https://reviews.llvm.org/rG4bc07c332a2). * The Attributor framework gained a pointer privatization attribute. [89c2e73](https://reviews.llvm.org/rG89c2e733e80). ## 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](https://reviews.llvm.org/rGfd09f12f32f). * It is now possible to limit the number of pre-processor tokens in a translation unit. [739b410](https://reviews.llvm.org/rG739b410f1ff). * The new `-ibuiltininc` flag lets the Darwin driver include Clang builtin headers even with `-nostdinc`. [f96f64d](https://reviews.llvm.org/rGf96f64d0f27). ## Other project commits * MLIR gained a new dead code elimination pass to delete unreachable symbols. [b276dec](https://reviews.llvm.org/rGb276dec5b65). * A design document was committed for the MLIR Linalg dialect. [1d58a7c](https://reviews.llvm.org/rG1d58a7c82f7). * The LeakSanitizer runtime was ported to Fuchsia. [90a10f0](https://reviews.llvm.org/rG90a10f00ff8).