Alex Bradbury via llvm-dev
2021-Dec-20 19:14 UTC
[llvm-dev] LLVM Weekly - #416, December 20th 2021
LLVM Weekly - #416, December 20th 2021 ===================================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/416>. Welcome to the four hundred and sixteenth 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 Rui Ueyama has [released version 1.0 of the mold linker](https://github.com/rui314/mold/releases/tag/v1.0.0). It aims to be a much faster drop-in replacement for linkers like LLD and GNU gold. On a related note, MaskRay blogged about [why ld.lld isn't faster than it is](https://maskray.me/blog/2021-12-19-why-isnt-ld.lld-faster). ## On the mailing lists * Tom Stellard shared an [update on the 13.0.1 release](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154383.html). Backport requests will be accepted until Monday December 20th, and rc2 will be tagged shortly after. * Nikita Popov raises the question of [further specifying the interaction of sret parameters and unwinding](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154164.html), with the goal of enabling more optimisations. * Tom Stellard kicked off an RFC discussion on [introducing a new automated release workflow using GitHub Issues and Pull Requests](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154389.html). Respondents asked about the impact in terms of email notifications. * Weining Lu shared an RFC on [adding a new backend for the LoongArch ISA](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154371.html). The work done so far is public, and is being re-factored into small incremental patches as was done for the RISC-V, CSKY, and VE backends. * Chris Sears started a discussion on [tidy-llvm.py](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154369.html), a tool to help run clang-tidy on LLVM itself. Some respondents suggested using a compilation database as a workaround. * James Nagurne is [seeking guidance, examples, or docs related to "super passes"](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154349.html). * LLVM GPU News #25 [is out](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154415.html). ## LLVM commits * Prologue and epilogue generation was implemented for z/OS target. [3f1c403](https://reviews.llvm.org/rG3f1c403a2b0a). * Details regarding MemorySSA's precision were documented. [ac994f8](https://reviews.llvm.org/rGac994f831cb7). * The location description DWARF extension, one of the DWARF Extensions for Heterogenous Debugging used by the AMDGPU target, was documented. [c6be2ad](https://reviews.llvm.org/rGc6be2ad73acb). * Named opcodes are now supported in the .insn directive for RISC-V. [10a7198](https://reviews.llvm.org/rG10a71981e92d). * The llvm-debuginfod-find tool was added. It wraps the debuginfod library to query debuginfod servers for artefacts. [f0ca8d2](https://reviews.llvm.org/rGf0ca8d2461a7). * Instruction selection support was added for STRICT_{FADD,FSUB,FMUL,FDIV} on RISC-V. [3926893](https://reviews.llvm.org/rG3926893439c4). * Deferred inlining was disabled, as with the new pass manager it has been observed to have instances of 'catastrophic inlining' (see the detailed commit message for more details). [a8c2ba1](https://reviews.llvm.org/rGa8c2ba105d47). * The process for working with patch series on Phabricator was documented. [2dbe589](https://reviews.llvm.org/rG2dbe5898d782). * The RegAllocEvicationAdvisorAnalysis pass was introduced. [0910380](https://reviews.llvm.org/rG09103807e7dc). * The constant index type for extractlement/insertelement is now canonicalised to i64. [e6ad9ef](https://reviews.llvm.org/rGe6ad9ef4e7ae). ## Clang commits * The CLANG_DEFAULT_PIE_ON_LINUX CMake option was added to emulate GCC's `--enable-default-pie`. [1042de9](https://reviews.llvm.org/rG1042de90589c). * Support was implemented for P2085, out-of-class defaulting of comparison operators. [5fbe21a](https://reviews.llvm.org/rG5fbe21a7748f). * Warnings can now be disabled for integer to floating-point narrowing conversions for cppcoreguidelines-narrowing-conversions. [9198d04](https://reviews.llvm.org/rG9198d04c06b5). ## Other project commits * The v3 ThreadSanitizer runtime was re-committed and enabled by default. [b332134](https://reviews.llvm.org/rGb332134921b4), [9fb8058](https://reviews.llvm.org/rG9fb8058a8079). * Microsoft's floating-point to_chars implementation was contributed to libcxx. It uses the Ryu and Ryu Printf algorithms. [abb5dd6e](https://reviews.llvm.org/rGabb5dd6e99df). * A FreeBSDKernel plugin was added to LLDB that supports reading FreeBSD kernel core dumps. [9c7fbc3](https://reviews.llvm.org/rG9c7fbc3f9b05). * Patches implementing a new frontend pattern language for MLIR's PDL have started to land. See [River Riddle's presentation](https://www.youtube.com/watch?v=T0yz4SqG5nc) at a recent MLIR open meeting for more information. [11d26bd](https://reviews.llvm.org/rG11d26bd14327), [322691a](https://reviews.llvm.org/rG322691ab6344), [d7e7fdf](https://reviews.llvm.org/rGd7e7fdf3aaaf), and more. * A memory allocation rewrite pass was added to Flang, that can reclassify memory allocations from stack to heap when appropriate. [3d092e3](https://reviews.llvm.org/rG3d092e31c1f5). * LLVM's libc gained a strtold implementation. [aa1902f](https://reviews.llvm.org/rGaa1902f917fa). * Documentation was added on how to add a math function to LLVM libc. [a2b3e6b](https://reviews.llvm.org/rGa2b3e6bed86d). * P0898R8 (monadic operations for std::optional) was implemented for libcxx. [17cfc57](https://reviews.llvm.org/rG17cfc57d1437). * In the ELF LLD linker, scanRelocations was split into scanRelocations and postScanRelocations. Postponing some work to postScanRelocations gives more flexibility, as described in the commit message. [cf783be](https://reviews.llvm.org/rGcf783be8d7a8). * LLDB gained the ability to cache symbol tables for subsequent debug sessions can start faster. [da816ca](https://reviews.llvm.org/rGda816ca0cb3b). * Reproducer replay functionality was removed from LLDB. [fa12606](https://reviews.llvm.org/rGfa1260697ec8). * Scalable vector support was added to MLIR's VectorType (meaning a number of operations can be removed from the ArmSVE MLIR dialect). [a4830d1](https://reviews.llvm.org/rGa4830d14edbb).