Alex Bradbury via llvm-dev
2021-May-31 15:35 UTC
[llvm-dev] LLVM Weekly - #387, May 31st 2021
LLVM Weekly - #387, May 31st 2021 ================================ If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/387>. Welcome to the three hundred and eighty-seventh 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 Neil Henning blogged about [porting the Burst .NET compiler to use the new pass manager](https://www.duskborn.com/posts/llvm-new-pass-manager/). Patrick P. Frey has [written about](https://www.codeproject.com/Articles/5301384/Writing-Compiler-Front-Ends-for-LLVM-with-Lua-usin) [Mewa](http://www.mewa.cc/), a tool that uses Lua to help you prototype compiler front-ends of statically typed languages using LLVM as the backend. Phacility, the organisation that maintains and supports Phabricator is [winding down operations](https://admin.phacility.com/phame/post/view/11/phacility_is_winding_down_operations/). ## On the mailing lists * Kirill Bobyrev [announced](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150759.html) the availability of clangd-index.llvm.org, a centralised symbol index for the LLVM project. * More students participating in GSoC through LLVM have shared details of their projects (see [here](https://summerofcode.withgoogle.com/organizations/5767011616948224/?sp-page=3#5185044001325056) for the full list). * [Soham Dixit - Distributed lit testing](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150801.html) * [Krishna Kariya - Fixing fundamental issues in LLVM IR](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150780.html) * [George Mitenkov - Fixing fundemental issues in LLVM IR](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150737.html) * Tom Stellard announced that [12.0.1-rc1 has been tagged](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150757.html). * Nemanja Ivanovic posted an RFC on [adding a CMake macro to allow renaming the clang executable](https://lists.llvm.org/pipermail/cfe-dev/2021-May/068185.html). * Nico Weber [proposed adding a top-level .mailmap file](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150741.html). This has now progressed to a [patch review](https://reviews.llvm.org/D103360). ## LLVM commits * The RISC-V backend gained a new cross-basic-block aware VSETVLI insertion pass, which takes into account VL/VTYPE information from predecessors. [b510e4c](https://reviews.llvm.org/rGb510e4cf1b96), [1b47a3d](https://reviews.llvm.org/rG1b47a3de48d2), [527cd01](https://reviews.llvm.org/rG527cd013144d), [0fa5aac](https://reviews.llvm.org/rG0fa5aac292b8). * Printing stack sizes with llvm-readobj now takes linear rather than quadratic time, meaning `llvm-readobj --stack-size` on a clang binary built with `-fstack-size-section` takes 0.25 seconds rather than 7 minutes. [6505c63](https://reviews.llvm.org/rG6505c630407c). * llvm.experimental.gc.get.pointer.{base,offset} intrinsics were introduced. [4d26f41](https://reviews.llvm.org/rG4d26f41f76c4). * Analysis remarks were added for memset/memcpy/memmove lengths. [095e91c](https://reviews.llvm.org/rG095e91c9737b). * In order to avoid excessively long compile times, a dbg.value may now reference a maximum of 16 values. [a0bd610](https://reviews.llvm.org/rGa0bd6105d806). * llvm-mc gained an objdump-style `-M` option, meaning `-M no-aliases` can be used instead of e.g. `-riscv-no-aliases`. [73a1179](https://reviews.llvm.org/rG73a117953599), [5852582](https://reviews.llvm.org/rG5852582532b3). * LLVM IR support was added for WebAssembly local variables. [00ecf18](https://reviews.llvm.org/rG00ecf18979e3). REVERTED * Mandatory tail calls for tailcc and swifttailcc are now supported in the Arm backend. [d88f96d](https://reviews.llvm.org/rGd88f96dff3f1). ## Clang commits * As a Clang-specific extension, bitfields can be used in OpenCL. [237c692](https://reviews.llvm.org/rG237c6924bd46). * Support was added for `#elifdef` and `#elifndef`. [8edd346](https://reviews.llvm.org/rG8edd3464afbf). * `__builtin_sycl_unique_stable_name` was implemented. It takes a type and produces a unique string literal that should be stable across compilations of the translation unit. [eba69b5](https://reviews.llvm.org/rGeba69b59d1a3). ## Other project commits * The DExTer debugging experience tester gained a DexDeclareFile command, allowing dexter commands to be written in a separate test file, avoiding mixing those commands with test source. [c2c2be4](https://reviews.llvm.org/rGc2c2be44ed64). * Initial documentation was added for the Fortran LLVM Test Suite. [5f8810d](https://reviews.llvm.org/rG5f8810d7b463). * `std::ranges::{prev,next}` implementations were added to libcxx. [857fa7b](https://reviews.llvm.org/rG857fa7b7b187), [0dc7fd1](https://reviews.llvm.org/rG0dc7fd1bc167). * Parallel ghash type merging was enabled by default in the COFF linker. [109aac9](https://reviews.llvm.org/rG109aac92128c).