[llvm-dev] LLVM Weekly - #386, May 24th 2021

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


LLVM Weekly - #386, May 24th 2021
=================================

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

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

Francesco Bertolaccini created [ClangQL](https://github.com/frabert/ClangQL),
a proof-of-concept SQLite extension for querying C++ codebases that have been
indexed using clangd.

Nelson Hage blogged about [using AWS Lambda to build LLVM in 90
seconds](https://blog.nelhage.com/post/building-llvm-in-90s/).

Pekka Jääskeläinen
[announced](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150654.html)
the release of PoCL v1.7, a portable open source implementation of OpenCL.
This release features support for Clang/LLVM 12.0 and has imprvoed support for
cross-compiling and SPIR-V binaries when using CPU devices.


## On the mailing lists

* Tanya Latter is [seeking input to inform planning of the 2021 LLVM
  Developers'
  Meeting](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150623.html),
  sharing a survey for input.

* Krzysztof Parzyszek postd an RFC on [deprecating pre-commit email code
  reviews in favour of
  Phabricator](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150619.html).
  This limits the scope of a similar RFC that preceded it, with the goal of
  getting full consensus. There are no major objections so far.

* The list of accepted LLVM GSoC projects is [now
  available](https://summerofcode.withgoogle.com/organizations/5767011616948224/?sp-page=3#5185044001325056).
  Congratulations! A number of the accepted students have been posting
  details of their
  projects (apologies if I've missed your mailing list message!):
  * [Ajay Arasanipalai - Modernising the 'building a JIT'
    tutorial](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150710.html)
  * [Liqiang Tao - Locally optimal inlining
    decisions](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150696.html)
  * [Tarindu Jayatilaka - Optimising LLVM's pass pipeline using machine
    learning](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150694.html)
  * [Pratyush Das - Integrating custom derivatives of numerical computing
    routines into
    Enzyme](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150688.html)
  * [Toshiki Maekawa - Utilise LoopNest
    pass](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150673.html)
  * [Hyeongyu Kim - Fix miscompilation issues in LLVM IR using the 'freeze'
    instructions](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150672.html)
  * [Deep Majumder - Making smart spointer checkers default checkers in the
    static
    analyzer](https://lists.llvm.org/pipermail/cfe-dev/2021-May/068176.html)
  * [Manas - Constraint solver improvements for the Clang static
    analyzer](https://lists.llvm.org/pipermail/cfe-dev/2021-May/068171.html)
  * [Omar Emara - Evolving the LLDB
    GUI](https://lists.llvm.org/pipermail/lldb-dev/2021-May/016885.html).

* LLVM GPU News Issue #12 [is
  out](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150700.html) with a
  range of GPU-related LLVM development highlights.

* Sam Powell posted an RFC [proposing a new llvm-tapi-diff
  tool](https://lists.llvm.org/pipermail/llvm-dev/2021-May/150648.html).


## LLVM commits

* AArch64 and X86 gained support for a newly added 'swifttailcc' calling
  convention. [82a0e80](https://reviews.llvm.org/rG82a0e808bb2c).

* Loads and stores, GEPs, cmpxchg, and atomicrmw all now work with opaque
  pointers. [6013d84](https://reviews.llvm.org/rG6013d84392fa),
  [28b9771](https://reviews.llvm.org/rG28b9771472fa),
  [1b25fce](https://reviews.llvm.org/rG1b25fce404d4).
  [0bebda1](https://reviews.llvm.org/rG0bebda17bea3).

* The loop idiom recognizer can now spot the 'shift until zero' idiom.
  [0633d5c](https://reviews.llvm.org/rG0633d5ce7bd9).

* C bindings were added for the new pass manager.
  [0c557db](https://reviews.llvm.org/rG0c557db61711).

* Initial work was committed for flow-sensitive SampleFDO.
  [886629a](https://reviews.llvm.org/rG886629a8c9e5).

* A new hook was added and used in CodeGenPrepare to convert comparison of
  branches to prefer `icmp eq zero` if possible.
  [dd5c520](https://reviews.llvm.org/rGdd5c52029d27).


## Clang commits

* Support was added for MSVC's `-EHa` exception handling.
  [797ad70](https://reviews.llvm.org/rG797ad7015229).

* `-Wunused-but-set-parameter` and `-Wunused-but-set-variable` warnings were
  introduced. [14dfb38](https://reviews.llvm.org/rG14dfb3831c42).
  REVERTED

* The `-fextend-arguments` command line option was introduced to specify
  widening of integer arguments of unprototyped function calls.
  [d30dfa8](https://reviews.llvm.org/rGd30dfa86760c).


## Other project commits

* MATMUL, PACK, SPREAD, TRANSPOSE, and more were implemented in the flang
  runtime. [5e1421b](https://reviews.llvm.org/rG5e1421b22f64),
  [c1db35f](https://reviews.llvm.org/rGc1db35f0c232).

* The MLIR pass management infrastructure gained support for a
  `-print-ir-after-failure` flag.
  [64ce90e](https://reviews.llvm.org/rG64ce90e1af5c).


More information about the llvm-dev mailing list