[llvm-dev] LLVM Weekly - #394, July 19th 2021

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jul 19 10:54:18 PDT 2021


LLVM Weekly - #394, July 19th 2021
==================================

If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/394>.

Welcome to the three hundred and ninety-fourth 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 blog has a new article [introducing the LLVM Outreachy
interns](https://blog.llvm.org/posts/2021-07-14-llvm-and-outreachy/).


## On the mailing lists

* Amir Aupov posted an [update on the BOLT
  framework](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151755.html),
  which has now been rebased on top of a much more recent LLVM. The post gives
  a detailed list of next steps and patches that are in the process of being
  upstreamed.

* ORC JIT Weekly #36 [is
  out](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151841.html): MachO
  platform support lands in the ORC runtime, JITLink ELF backends get easier
  to write, and the ORCv2 C API gets experimental lazy-compilation support.

* Kevin Smith started a thread on [whether -ffast-math should affect
  intrinsics](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151753.html).

* Philip Reames [reported back
  on](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151747.html) the
  previous RFC on decomposing deref(N) into deref(N) + nofree to say the
  proposal is a failure, and outlines three potential paths forwards.


## LLVM commits

* The RegAlloc interface was modified to allow targets to split register
  allocation between different register classes (controlled by a callback
  function). The initial motivation is to allow AMDGPU to split allocation for
  SGPRs and VGPRs. [eebe841](https://reviews.llvm.org/rGeebe841a47cb).

* Register definitions and initial MC layer support support was added for the
  Armv9-A Scalable Matrix Extension.
  [c08dabb](https://reviews.llvm.org/rGc08dabb0f476),
  [dfa7693](https://reviews.llvm.org/rGdfa76933c296),
  [99eb96f](https://reviews.llvm.org/rG99eb96f03186).

* The language reference was updated to clarify semantics of inttoptr/ptrtoint
  for non-integral types. [f74bb95](https://reviews.llvm.org/rGf74bb95bbe4d).

* llvm-readobj command line parsing was moved from llvm:cl to OptTable.
  [46580d4](https://reviews.llvm.org/rG46580d43fc70).

* The Arm backend gained new MVESEXT and MVEZEXT nodes that larger-than-legal
  sext and zext are lowered to when MVE is enabled.
  [ca78151](https://reviews.llvm.org/rGca78151001d8).

* A new pass was added to remove redundant `DBG_VALUE`.
  [df68684](https://reviews.llvm.org/rGdf686842bc52).

* PPC now uses AtomicExpandPass to implement support for quadword lock-free
  atomic operations, expanding them after register allocation to avoid
  spilling that might prevent forward progress.
  [b9c3941](https://reviews.llvm.org/rGb9c3941cd61d).


## Clang commits

* Support was added for OpenMP 5.1 attributes.
  [de59f56](https://reviews.llvm.org/rGde59f564400d).

* The static analyzer can now print the time taken to analyze each function.
  [cad9b7f](https://reviews.llvm.org/rGcad9b7f708e2).


## Other project commits

* Documentation was added for each of the remarks emitted by openmp-opt.
  [1616407](https://reviews.llvm.org/rG16164079213d).

* Thread safety annotations were added to the sanitizer_common library.
  [0da172b](https://reviews.llvm.org/rG0da172b1766e).

* The vendored google benchmark in libcxx was updated to v1.5.5.
  [5208ec5](https://reviews.llvm.org/rG5208ec5c66dc).


More information about the llvm-dev mailing list