[llvm-dev] LLVM Weekly - #406, October 11th 2021

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 11 11:23:49 PDT 2021


LLVM Weekly - #406, October 11th 2021
=====================================

If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/406>.

Welcome to the four hundred and sixth 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

LLVM 13.0.0 [has been
released](https://lists.llvm.org/pipermail/llvm-announce/2021-October/000095.html).

Juneyoung Lee has blogged about ["the select
story"](https://aqjune.github.io/posts/2021-10-4.the-select-story.html) - the
story of how and why a transformation to fold `select i1 %a, i1 %b, i1 false`
to `and i1 %a, %b` was removed.

[MaskRay](https://maskray.me/blog/2021-10-10-when-can-glibc-be-built-with-clang)
and [Adrian Ratiu at
Collabora](https://www.collabora.com/news-and-blog/blog/2021/09/30/a-tale-of-two-toolchains-and-glibc/)
have both blogged about building glibc with
LLVM/Clang.

OpenASIP v1.24 [has been
released](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153216.html),
adding support for LLVM 13.

## On the mailing lists

* Tom Stellard kicked off an RFC thread on behalf of the LLVM Foundation Board
  of Directors on [moving from Phabricator to GitHub
  PRs](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153113.html).
  "The LLVM Foundation Board of Directors is seeking comment on the current
  state of Code Review within the LLVM Project and its sub-projects.
  Phabricator is no longer actively maintained and we would like to move away
  from a self-hosted solution, so our goal is to determine if GitHub Pull
  Requests are a good alternative to our current code review tool." The email
  listed a series of questions that the Board are seeking feedback on. This
  generated a lot of discussion. I've attempted to pick out a few key
  sub-threads but apologise it's not possible to summarise everything. A
  number of respondents including [Renato
  Golin](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153116.html)
  and [Mehdi
  Amini](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153120.html)
  queried the nature of the involvement of the LLVM Foundation's BoD, whilst
  others such as [David
  Blaikie](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153199.html)
  spoke in favour of the BoD involvement. Tanya
  Lattner [followed up to
  clarify](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153125.html)
  and Chris Lattner gave some [broader
  perspective](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153152.html)
  Some
  respondents suggested other infrastructure issues should take higher
  priority, such as [pre-submit
  testing](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153126.html)
  or [the bug
  tracker](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153221.html).

* Florian Hahn posted an RFC on [adding a new set of vector math
  builtins](https://lists.llvm.org/pipermail/cfe-dev/2021-September/068999.html)
  to Clang (a couple of weeks ago in fact - I missed it previously).

* ORC JIT Weekly #41 [is
  out](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153236.html),
  providing an update on the JITLinkMemoryManager refactor.

* Mircea Trofin's [post about adding a dependency on abseil to
  google/benchmark](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153112.html)
  generated substantial new discussion over the past week, including queries
  from [Stella
  Laurenzo](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153212.html)
  and [Chris
  Lattner](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153231.html)
  on the merits vs costs of adding the abseil dependency.

* Petr Hosek
  [announced](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153205.html)
  that shared top-level CMake modules are being added in order to reduce
  duplication. One impact of this is it will no longer possible to build
  libc++, libc++abi, libunwind, or compiler-rt using CMake without also
  checking out the top-level CMake module directory (if you weren't already
  using a full monorepo checkout).

* Juneyoung Lee is seeking any final feedback on [turning on clang's noundef
  analysis by
  default](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153215.html).

* Konrad Kleine announced [nightly snapshot LLVM builds for Fedora
  Linux](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153201.html).

* Michał Górny has been working on improving LLDB's serial port support and
  [started a
  thread](https://lists.llvm.org/pipermail/lldb-dev/2021-October/017054.html)
  to discuss this.


## LLVM commits

* A new 'opt' pipeline reducer script was checked in. This script uses the
  `-print-pipeline-passes` option to identify a reduced set of passes that
  still fail on the given input.
  [91d15aa](https://reviews.llvm.org/rG91d15aa0b8bf).

* The maximum alignment representable in IR is now 4GB (up from 1GB).
  [0539246](https://reviews.llvm.org/rG05392466f02b).

* `-mcpu=generic` for AArch64 now default to a schedule for an in-order core
  (the A55). The reasoning is that this will benefit in-order cores and cause
  little to no performance difference for out-of-order devices.
  [adec922](https://reviews.llvm.org/rGadec92236164).

* Internal users of deprecated APInt constructors and methods were updated.
  [a9bceb2](https://reviews.llvm.org/rGa9bceb2b059d).

* SelectionDAG's stack protector codegen optimisations have been ported to
  GlobalISel. [cfef180](https://reviews.llvm.org/rGcfef1803dd83).

* Further documentation was added on LLVM's pre-merge testing.
  [e2f150c](https://reviews.llvm.org/rGe2f150c3cf8b).

* A new Constant::hasOneLiveUser helper was introduced and used in the inline
  cost model. [11c8efd](https://reviews.llvm.org/rG11c8efd4db0f).

* TargetRegister.(h|cpp} was moved from Support to MC.
  [89b5706](https://reviews.llvm.org/rG89b57061f7b7).

## Clang commits

* An option was added to clear AST memory before running LLVM passes.
  [6522b7c](https://reviews.llvm.org/rG6522b7cc3240).

* A new InvalidPtrChecker was added to the static analyzer.
  [811b173](https://reviews.llvm.org/rG811b1736d91b).

* if consteval was implemented.
  [424733c](https://reviews.llvm.org/rG424733c12aac).

* New TypeLoc-related matchers were added.
  [ac74296](https://reviews.llvm.org/rGac7429656286).


## Other project commits

* string, integer, char, and bool formatters were added for std::format in
  libcxx. [d550930](https://reviews.llvm.org/rGd550930afcbb),
  [3e9689d](https://reviews.llvm.org/rG3e9689d72cdf),
  [49e736d](https://reviews.llvm.org/rG49e736d845d8),
  [7fb9f99](https://reviews.llvm.org/rG7fb9f99f3bb6).

* Support was added to libcxx and libcxxabi for adding tests for
  vendor-specified properties.
  [f6a7490](https://reviews.llvm.org/rGf6a74908a7e7).

* The 'arith' MLIR dialect was split from the 'std' dialect.
  [8c08f21](https://reviews.llvm.org/rG8c08f21b6041).

* Polly gained a `-polly-loop-fusion-greedy` option which will try to fuse any
  loop regardless of profitability.
  [6448925](https://reviews.llvm.org/rG64489255be49).


More information about the llvm-dev mailing list