Alex Bradbury via llvm-dev
2021-Nov-22 17:58 UTC
[llvm-dev] LLVM Weekly - #412, November 22nd 2021
LLVM Weekly - #412, November 22nd 2021 ===================================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/412>. Welcome to the four hundred and twelfth 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 On the LLVM blog, Kristof Beyls provided an [update on the LLVM relicensing effort](https://blog.llvm.org/posts/2021-11-18-relicensing-update/) along with a call for help for closing off the "long tail" of contributions that haven't yet been explicitly relicensed. Over 94% of all contributed lines of code have been made available under the new license (Apache-2.0 with LLVM exception). The 2021 LLVM Developers Meeting took place online last week. Videos [will be posted](https://twitter.com/llvmorg/status/1461851531368615937) in the next few weeks. ## On the mailing lists * Anton Korebeynikov shared a [major update on the LLVM bugzilla migration](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153802.html). Assuming the proposed migration roadmap goes to plan, the LLVM GitHub repo should be open for new issues and have ingested all previous BugZilla issues on Monday November 29th. * Yitzhak Mandelbaum [shared an update on the proposed dataflow analysis framework for the Clang AST](https://lists.llvm.org/pipermail/cfe-dev/2021-November/069357.html), linking to the first two patches. * Gábor Horváth provided [notes from the Clang Static Analyzer round table discussion](https://lists.llvm.org/pipermail/cfe-dev/2021-November/069352.html). * Momchil Velikov kicked off an RFC discussion on [introducing an LLVM IR attribute for asynchronous unwind tables](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153768.html), noting that while there's a 'uwtable' attribute, there's no attribute to indicate if the unwind tables should be asynchronous or not. * Jeroen Dobbelaere posted an RFC on [introducing an 'unknown_provenance' LLVM IR constant](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153772.html), intended to be used as part of the ptr_provenance infrastructure used to implement full restrict support. * Joshua Cranmer posted a [new proposal for introducing complex types into LLVM](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153793.html). Rather than introducing complex types directly, it proposes representing complex numbers as vectors and using intrinsics. This was shared ahead of an LLVM Dev Meeting roundtable discussion on the topic. * Serge Guelton suggests [improving LLVM's handling of string IR attributes](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153773.html). Noting that freeform key=value attribuees are commonly used for relatively standard cases like "target-cpu" or "target-features", Serge proposes introducing private symbols to represent such common keys. * Ying Yi provided an [update on the "Program Repository" project](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153740.html). ## LLVM commits * A constant value consecutive store-merging optimisation pass was added to GlobalISel and enabled for AArch64. [dc84770](https://reviews.llvm.org/rGdc84770d559b). * The RISCVCompressEmitter tablegen backend was modified and renamed to CompressInstEmitter, so it can be reused for compressed instruction emission for the CSKY target. [24d1673](https://reviews.llvm.org/rG24d1673c8b9b). * The PPC backend gained a peephole optimisation for conditional trap instructions. [ae27ca9](https://reviews.llvm.org/rGae27ca9a6783). ## Clang commits * A tutorial was added on how to write a source-to-source translation tool using Clang Transformer. [2b49484](https://reviews.llvm.org/rG2b4948448f03). * The `-masm=intel` flag now affects the inline asm style. [ae98182](https://reviews.llvm.org/rGae98182cf734). ## Other project commits * LLVM's DenseMap was imported into and modified for use in compiler-rt sanitizers. [54adc16](https://reviews.llvm.org/rG54adc1675eb8), [c26dbc4a](https://reviews.llvm.org/rGc26dbc4ab4b8). * libcxx's coroutine implementation was moved out of the std::experimental namespace. [2e6ae1d](https://reviews.llvm.org/rG2e6ae1d3f2de). * libcxx's std::sort now uses introsort to avoid O(n^2) behaviour on adversarial inputs. [7f28739](https://reviews.llvm.org/rG7f287390d78d). * libunwind gained an interface for dynamic .eh_frame registration. [bab3981](https://reviews.llvm.org/rGbab39816085d). * Documentation for MLIR's shape dialect was expanded. [0d0c46a](https://reviews.llvm.org/rG0d0c46a35b3b).