[llvm-dev] LLVM Weekly - #387, May 31st 2021

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon May 31 08:35:40 PDT 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).


More information about the llvm-dev mailing list