[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