[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

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

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.

and [Adrian Ratiu at
have both blogged about building glibc with

OpenASIP v1.24 [has been
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
  "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
  and [Mehdi
  queried the nature of the involvement of the LLVM Foundation's BoD, whilst
  others such as [David
  spoke in favour of the BoD involvement. Tanya
  Lattner [followed up to
  and Chris Lattner gave some [broader
  respondents suggested other infrastructure issues should take higher
  priority, such as [pre-submit
  or [the bug

* Florian Hahn posted an RFC on [adding a new set of vector math
  to Clang (a couple of weeks ago in fact - I missed it previously).

* ORC JIT Weekly #41 [is
  providing an update on the JITLinkMemoryManager refactor.

* Mircea Trofin's [post about adding a dependency on abseil to
  generated substantial new discussion over the past week, including queries
  from [Stella
  and [Chris
  on the merits vs costs of adding the abseil dependency.

* Petr Hosek
  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

* Konrad Kleine announced [nightly snapshot LLVM builds for Fedora

* Michał Górny has been working on improving LLDB's serial port support and
  [started a
  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.

* The maximum alignment representable in IR is now 4GB (up from 1GB).

* `-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.

* Internal users of deprecated APInt constructors and methods were updated.

* 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.

* 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.

## Clang commits

* An option was added to clear AST memory before running LLVM passes.

* A new InvalidPtrChecker was added to the static analyzer.

* if consteval was implemented.

* New TypeLoc-related matchers were added.

## Other project commits

* string, integer, char, and bool formatters were added for std::format in
  libcxx. [d550930](https://reviews.llvm.org/rGd550930afcbb),

* Support was added to libcxx and libcxxabi for adding tests for
  vendor-specified properties.

* The 'arith' MLIR dialect was split from the 'std' dialect.

* Polly gained a `-polly-loop-fusion-greedy` option which will try to fuse any
  loop regardless of profitability.

More information about the llvm-dev mailing list