[llvm-dev] LLVM Weekly - #384, May 10th 2021

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon May 10 10:58:58 PDT 2021


LLVM Weekly - #384, May 10th 2021
=================================

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

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

Serge Guelton blogged about [optimising Clang's line-to-offset
mapping](https://developers.redhat.com/blog/2021/05/04/optimizing-the-clang-compilers-line-to-offset-mapping/),
noting that that the function performing this mapping stands out on a profile
when preprocessing a large file.


## On the mailing lists

* Krzysztof Parzyszek [proposes deprecating email code reviews in favour of
  Phabricator](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150344.html).
  This generated a lot of discussion, with a number of respondents supportive
  of keeping reviews sent to llvm-commits, even if Phabricator reviews become
  the default.

* Fangrui Song posted about [reclaiming some -fno-semantic-interposition
  optimisation
  opportunities](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150467.html),
  and has a [companion blog post on the
  subject](https://maskray.me/blog/2021-05-09-fno-semantic-interposition).

* Arthur Eubanks posted an RFC on [introducing an opaque pointer
  type](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150359.html)

* Tanya Lattner is [seeking nominations for the Code of Conduct
  Committee](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150437.html)

* David Chisnall provides some [detailed
  thoughts](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150419.html) in
  response to a question about implementing an LLVM COBOL frontend.

* Roman Lebedev [summarises thoughts on implementing -Wstack-usage for
  Clang](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150417.html).

* Chris Lattner reports that [the LLVM logo page has been updated with the
  "new" logo](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150385.html).

* Nick Desaulniers
  [highlights](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150392.html)
  that the upcoming Linux Plumbers Conf has a proposed Toolchain and Kernel
  Micro-conference covering GNU and LLVM. To get that approved, he's seeking
  expression of interest in participating and potential topics.

* Tom Stellard has [shared the proposed release schedule for 12.0.1 and
  13.0.0](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150361.html).

* Michael Clark [wrote about a new project,
  crefl](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150483.html).
  Crefl provides a clang plugin and API for generating and accessing
  reflection metadata for C.


## LLVM commits

* The vector predicated integer binary intrinsics can now be lowered to RISC-V
  Vector instructions. [6f17613](https://reviews.llvm.org/rG6f17613bfb95).

* The New Pass Manager documentation gained a section on analyses.
  [9779b66](https://reviews.llvm.org/rG9779b664b6a8).

* GlobalISel was updated to use the DAG call lowering infrastructure in a way
  more similar to other users. See the commit message for a detailed
  discussion of the challenges with this and shortcomings of the current
  infrastructure. [fa0b93b](https://reviews.llvm.org/rGfa0b93b5a086).

* LLVM's demangler gained initial support for the new Rust mangling scheme.
  [7310403](https://reviews.llvm.org/rG7310403e3cdf).

* LLVM's libSupport gained functions for controlling auto conversion between
  ASCII and EBCDIC on z/OS.
  [1527a5e](https://reviews.llvm.org/rG1527a5e4b483).

* A new `parseComma` method was added to MCAsmParser in order to allow better
  diagnostics to be printed.
  [7cac6a9](https://reviews.llvm.org/rG7cac6a9d7a1d).

* computeKnownBits and computeNumSignBits are now aware of atomics.
  [6c80361](https://reviews.llvm.org/rG6c80361b8474).

* The Arm backend can now transform llvm.memcpy and llvm.memset intrinsics to
  a tail predicated hardware loop for targets supporting the M-profile Vector
  Extension. [9ff38e2](https://reviews.llvm.org/rG9ff38e2d9dd7),
  [dfe3ffa](https://reviews.llvm.org/rGdfe3ffaa4a47).

* A new prelegalizer combiner pass was added for GlobalISel AArch64 at O0.
  [5b15809](https://reviews.llvm.org/rG5b158093e246).


## Clang commits

* The `-fc++-abi` flag was added for specifying which C++ ABI to use.
  [84c4754](https://reviews.llvm.org/rG84c475437267).

* The `-Wreserved-identifier` warning was introduced to warn when a
  declaration used an identifier that doesn't obey the reserved identifier
  rule from C or C++. [b83b232](https://reviews.llvm.org/rGb83b23275b74).

* The behaviour of  AllowShortIfStatementsOnASingleLine clang-format option
  can now be further customised with AllIfsAndElse, which will put 'else if'
  and 'else' short statements on a single line.
  [8d93d7f](https://reviews.llvm.org/rG8d93d7ffedeb).

* `-fsanitize-ignorelist` is now accepted in addition to
  `-fsanitize-blocklist`. [d7ec48d](https://reviews.llvm.org/rGd7ec48d71bd6).


## Other project commits

* LLVM's libc gained implementations of `asctime` and `asctime_r`.
  [a72499e](https://reviews.llvm.org/rGa72499e47537).

* Implementation of ranges in libcxx continues.
  [fa3e262](https://reviews.llvm.org/rGfa3e26266cd4),
  [9c5d86a](https://reviews.llvm.org/rG9c5d86aac505),
  [2021d27](https://reviews.llvm.org/rG2021d272ad6c),
  [6ffc41b](https://reviews.llvm.org/rG6ffc41b014f3), and more.

* LLVM's OpenMP library gained documentation on AMDGPU offload.
  [25fe17d](https://reviews.llvm.org/rG25fe17d3c104).


More information about the llvm-dev mailing list