Alex Bradbury via llvm-dev
2021-May-10 17:58 UTC
[llvm-dev] LLVM Weekly - #384, May 10th 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).