[llvm-dev] LLVM Weekly - #405, October 4th 2021

Alex Bradbury via llvm-dev
Mon, 04 Oct 2021 18:28:32 -0000

LLVM Weekly - #405, October 4th 2021
===================================
If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/405>.

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

The LLVM Foundation have
[announced](https://lists.llvm.org/pipermail/llvm-dev/2021-September/153009.html)
an outdoor in-person event, the LLVM Bay Area Meetup, which will take place on
October 20th.


## On the mailing lists

* ORC JIT Weekly #40 [is
  out](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153069.html),
  covering the switch to SimpleRemoteEPC.

* Paul Robinson asks if [others would be interested in a tool to check
  TargetLibraryInfo against actual

libraries](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153052.html).

* Chris Tetreault [warned of an SSL-related issue using arcanist to access

Phabricator](https://lists.llvm.org/pipermail/llvm-dev/2021-September/153019.html).
  This naturally reignited discussion on moving away from Phabricator. In
  a parallel thread, Mehdi Amini [summarised the two main identified

blockers](https://lists.llvm.org/pipermail/llvm-dev/2021-September/153034.html)
  from an Infrastructure Working Group meeting.

* Snehasish Kumar shared an RFC on [introducing a binary serialization format
  for

MemProf](https://lists.llvm.org/pipermail/llvm-dev/2021-September/153007.html).

* Mircea Trofin is seeking feedback from the LLVM community on [introducing a
  dependency on abseil into Google's benchmark

library](https://lists.llvm.org/pipermail/llvm-dev/2021-September/153022.html).
  See [google/branchmark#1183](https://github.com/google/benchmark/pull/1183)
  for the upstream discussion.

* Noah Shutty shared plans on [building a debuginfod client and server library
  as part of the LLVM

project](https://lists.llvm.org/pipermail/llvm-dev/2021-September/152953.html).

* Jay Foad provide a summary of [recent work on enabling the machine verifier
  in more places in the pass pipeline and transitioning
  TwoAddressInstructionPass to

LiveIntervals](https://lists.llvm.org/pipermail/llvm-dev/2021-October/153047.html).
  Jay is seeking code reviews, comments, patches, advice, testing, etc.

* Jonas Paulsson details a [common

problem](https://lists.llvm.org/pipermail/llvm-dev/2021-September/152988.html),
  where frontends neglect to add signext/zeroext as needed on an argument
  passed by register and suggested introducing a new structarg attribute, and
  then erroring in the backend if the parameter doesn't have
  signext/zeroext/structarg.


## LLVM commits

* isSafeToMoveBefore was made less pessimistic.
  [c427727](https://reviews.llvm.org/rGc42772752a51).

* The type promotion pass was enabled for AArch64, removing some unnecessary
  extends. [8a645fc](https://reviews.llvm.org/rG8a645fc44b54).

* A number of in-tree tests were updated to use `-passes <passname>` to
specify
  the pass pipeline in favour of the deprecated `-passname` arguments.
  [3f8027f](https://reviews.llvm.org/rG3f8027fb67bc).

* As part of the SystemZ z/OS LLVM work, an initial GOFF assembly parser
  skeleton has been committed.
  [fb99424](https://reviews.llvm.org/rGfb99424a6f65).

* New LLVM metadata helper functions `printTree` and `dumpTree` allow
  printing an MDNode in an easy to read tree shape.
  [475de8d](https://reviews.llvm.org/rG475de8da011c).


## Clang commits

* A new `clang final` pragma was introduced, enabling warning on undefinition
  and re-definition of macros.
  [1e48ef2](https://reviews.llvm.org/rG1e48ef20358f).

* clang-cl gained support for `#pragma warning(disable : N)` to disable
  warnings matching the specified integer identifier.
  [b2de52b](https://reviews.llvm.org/rGb2de52bec17b).

* `-Wbool-operation` was extended to warn about bitwise AND of booleans with
  side effects. [f62d18f](https://reviews.llvm.org/rGf62d18ff140f).

* clang-formatted-files.txt was checked in, which aims to list all files
  within LLVM that are unchanged when processed by clang-format. This list
  will be used to ensure changes to clang-format don't unexpectedly change
  its output. [5aca8bb](https://reviews.llvm.org/rG5aca8bb963a4).

* clang-tidy now recognises `NOLINTBEGIN` and `NOLINTEND` comments to delimit
  regions where clang-tidy warnings should be suppressed.
  [c0687e1](https://reviews.llvm.org/rGc0687e1984a8).


## Other project commits

* LLVM's libc gained implementations of the conditional variable functions
  defined in the C standard.
  [8379fc4](https://reviews.llvm.org/rG8379fc4a53cf).

* libcxx's std::format implemented Unicode support.
  [ac7031b](https://reviews.llvm.org/rGac7031b2b2fa).

* Min/max operations were added to the standard MLIR dialect.
  [9fb57c8](https://reviews.llvm.org/rG9fb57c8c1dd8).

* LLVM's OpenMP library now features libompd - the OpenMP debugging library.
  [62fddd5](https://reviews.llvm.org/rG62fddd5ff5cd).