[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