LLVM Weekly - #338, June 22nd 2020
Welcome to the three hundred and thirty-eighth 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. Subscribe to future issues at https://llvmweekly.org and pass it on to anyone else you think may be interested. Please send any tips or feedback to asb@asbradbury.org, or @llvmweekly or @asbradbury on Twitter.
News and articles from around the web
Applications are open for the LLVM Foundation Board of Directors. They are due by 30th July and the new board will begin their term on 12th August. Additionally, the BoD will be having their first open board meeting on July 10th.
A virtual Austin area LLVM meetup is being planned for Jun 24th.
The first Workshop on LLVM Compilers and Tools for HPC is taking place on June 25th and 26th as a free virtual event.
SCRT have written up a blog post on using libTooling to transform source code to evade anti-virus detection.
The Fedora community are discussing a proposed policy change which would allow some packages to built using Clang/LLVM.
On the mailing lists
-
Chris Lattner posted an RFC on introducing an LLVM "incubator" process, allowing a straight-forward path for projects to be started within LLVM without being added to the monorepo.
-
Mehdi Amini started a discussion on renaming the
master
branch. This generated significant (but not universal) positive response, with much discussion centering around the timeline for any move and considerations such as matching GitHub's new default branch name. -
Manuel Klimek no longer has time to maintain the LLVM project's Phabricator instance and proposes two options going forwards - either another volunteer steps up or LLVM switches to GitHub PRs. Many responses to the thread discussed the pros/cons of code review on GitHub.
-
Y Song started a thread on options for disabling certain LLVM optimisations in the Clang frontend. Eli Friedman explained his concern that adding special-purpose attributes doesn't solve the underlying problem. Y Song followed up with two possible paths forwards.
-
Baptiste Saleil posted an RFC on supporting the new PowerPC MMA instructions in Clang/LLVM.
-
Louis Dionne kicked off an RFC thread on adding a top-level monorepo CMake file.
-
Djordje shared a proposal to introduce an LLVM debug info checker utility to check the preservation of debug info through optimisations. Responses discussed the pros/cons of this approach vs debugify.
-
John Regher proposed setting up alive.llvm.org. It is now live.
-
Roman Lebedev proposed adding integer intrinsics for integer abs, min, max providing a long list of bugs and problems that can be attributed to not having these intrinsics.
-
All pre-merge checks are now running on BuildKite.
-
Renato Golin started a discussion on dealing with spam in the LLVM IRC channel.
-
Kristof Beyls shared the mitigations that have been implemented for straight-line speculation vulnerability CVE-2020-13844 (the thread is a couple of weeks old, apologies I missed it previously).
-
Jeremy Morse shared a lengthy proposal on using a new LiveDebugValues implementation that aims to produce richer information and be faster.
-
Erich Keane started a thread to discuss codifying LLVM's preferred style for braces in single line blocks.
LLVM commits
-
The AArch64 backend gained intrinsics and codegen for BFloat load/store and matrix multiplication.508a476, 10b6567.
-
The WebAssembly backend gained 64-bit versions of all load and store operations. d9e0bbd.
-
LLVM documentation was updated to specify rules for updating debug locations. b4459b5.
-
Support was added for efficient lookups of AssertingVH/PoisoningVH. 5f565c0.
-
A
--dwarf64
option was added to llvm-mc to generated DWARF64 debug info. a8ec9de. -
CallPrinter gained heat colouring. 369d00d.
-
The MVE tail-predication pass was implemented using @llvm.get.active.lane.mask. d152251.
-
The Arm backend was updated to support lowering of half-precision FP arguments and returns. a255931.
Clang commits
-
A webkit.UncountedCallArgsChecker was added to the static analyzer. a7eb369.
-
libTooling gained a parser for a string representation of
RangeSelector
. 9ca50e8.
Other project commits
-
The OMPT-Multiplexing header file was added to overcome the restriction of loading a single tool at once. e9b8ed1.
-
Flang gained infrastructure for unit tests using Google Test. 93f602b.
-
MLIR patterns can now match any root kind. 80d7ac3.
-
LLVM's libc gained strcmp and long double fabsl and truncl. 05e1612, 1390182.
-
An implementation of
<numbers>
was added to libc++. 4f6c4b4.