[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