Alex Bradbury via llvm-dev
2021-Oct-11 18:23 UTC
[llvm-dev] LLVM Weekly - #406, October 11th 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).