[llvm-dev] LLVM Weekly - #392, July 5th 2021

Alex Bradbury via llvm-dev
Mon, 05 Jul 2021 18:55:32 -0000

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

Welcome to the three hundred and ninety-second 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

Phoronix posted an article [benchmarking LLVM/Clang 12 with various
settings](https://www.phoronix.com/scan.php?page=article&item=clang-12-opt&num=1).

A new data analytics framework has been released,
[Tuplex](https://tuplex.cs.brown.edu/index.html), which offers LLVM-backed
code generation and promises speedups of 10-20x over PySpark or Dask.

Video is [now available](https://www.youtube.com/watch?v=Np7Fy2F71lU) from a
recent LLVM/Flang technical call, where Mark LeAir presented on how to add a
new intrinsic to Flang.

The Red Hat Developer blog has a new article about [using source-level
annotations available in GCC to help protect buffer
overflows](https://developers.redhat.com/articles/2021/06/25/use-source-level-annotations-help-gcc-detect-buffer-overflows).


## On the mailing lists

* Tom Stellard shared an RFC [proposing to update the `LLVM_VERSION_SUFFIX`
  CMake variable for release
  candiates](https://lists.llvm.org/pipermail/llvm-dev/2021-June/151558.html).
  This variable is used in the SONAME, so will affect the name of the built
  libraries.

* LLVM GPU News Issue #15 [is
  out](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151648.html).

* Azhar Mohammed posted about [decommissioning the compiler build artifacts in
  Google cloud
  storage](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151623.html).
  This service will be turned off on July 12th. You're most likely to notice
  this if you'd been using `llvmlab bisect` to bisect using pre-built
  binaries.

* LLVM 12.0.1-rc4 [has been
  tagged](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151633.html).

* Fāng-ruì Sòng initiated a discussion about [moving utilities like
  llvm-objcopy to use OptTabl rather than
  llvm::cl](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151622.html)
  for command-line parsing.

* James Henderson
  [announced](https://lists.llvm.org/pipermail/llvm-dev/2021-June/151544.html)
  the creation of the top-level cross-project-test project, replacing
  debuginfo-test.

* Arthur Eubanks posted an RFC on [migrating tests from `opt -foo` to `opt

-passes=foo`](https://lists.llvm.org/pipermail/llvm-dev/2021-June/151553.html).


## LLVM commits

* A new combine was added for `G_PTR_ADD` in GlobalISel to allow better
  addressing mode usage. [0111da2](https://reviews.llvm.org/rG0111da2ef80a).

* llvm-objdump will now print generated comments for disassembled
  instructions. [abe0fa4](https://reviews.llvm.org/rGabe0fa435235)

* MC layer support was added for Armv9-A's Realm Management Extension.
  [88b1135](https://reviews.llvm.org/rG88b1135e72ea).

* Support for forward references in textual IR was added as part of the
  OpaquePtr implementation effort.
  [f8aaec1](https://reviews.llvm.org/rGf8aaec19e674).


## Clang commits

* A new checker, bugprone-easily-swappable-parameters, was introduced. It will
  find function definitions where parameters of convertible types follow each
  other directly, meaning it's easy to accidentally swap arguments.
  [499e39c](https://reviews.llvm.org/rG499e39c5983d).

* An `-fprotect-parents` command-line option and `__arithmetic_fence` builtin
  was added to provide expression-level control over floating point
  optimisation when `-ffast-math` is enabled.
  [e773216](https://reviews.llvm.org/rGe773216f4636).


## Other project commits

* Documentation was added for the new Flang driver.
  [ea3698d](https://reviews.llvm.org/rGea3698ded344).

* Documentation was added for mlir-reduce.
  [7dec20d](https://reviews.llvm.org/rG7dec20dbb6ae).

* Documentation was added on the OpenMP-aware optimisation pass.
  [c9f3240](https://reviews.llvm.org/rGc9f3240c9d94).

* debuginfo-tests was moved into a new top-level cross-project-tests
  directory. [1364750](https://reviews.llvm.org/rG1364750dadbb).

* A minimal Windows build config and instructions for using it were added for
  LLVM's libc. [e4b9fec](https://reviews.llvm.org/rGe4b9fecd392f).

* Identical Code Folding was moved earlier in lld-macho's pipeline.
  [3a11528](https://reviews.llvm.org/rG3a11528d97a7).