[llvm-dev] LLVM Weekly - #416, December 20th 2021
Alex Bradbury via llvm-dev
llvm-dev at lists.llvm.org
Mon Dec 20 11:14:06 PST 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).
More information about the llvm-dev
mailing list