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