Alex Bradbury via llvm-dev
2021-Mar-29 18:16 UTC
[llvm-dev] LLVM Weekly - #378, March 29th 2021
LLVM Weekly - #378, March 29th 2021 ================================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/378>. Welcome to the three hundred and seventy-eighth 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 The next post in the series about Cling is [now available](https://blog.llvm.org/posts/2021-03-25-cling-beyond-just-interpreting-cpp/), discussing how Cling has been extended to support template instantiation on demand and to act as an "interpreter/compiler as a service". On the LLVM blog, Arthur Eubanks provided a write-up of [the 'new' pass manager](https://blog.llvm.org/posts/2021-03-26-the-new-pass-manager/), detailing what it is, work that has been done to transition so far, and next steps. Crystal, a programming language with Ruby-inspired syntax using LLVM as it's codegen backend has just had its [1.0 release](https://crystal-lang.org/2021/03/22/crystal-1.0-what-to-expect.html). ## On the mailing lists * Jason Molenda posted an RFC on [adding a new packet type to help describe a standalone binary for LLDB](https://lists.llvm.org/pipermail/lldb-dev/2021-March/016806.html). * [Simon Cook](https://lists.llvm.org/pipermail/llvm-dev/2021-March/149367.html) and [John Byrd](https://lists.llvm.org/pipermail/llvm-dev/2021-March/149479.html) further discussed the potential of using Tablegen to generate an emulator core. * Sjoerd Meijer started a discussion on [adding a function specialisation pass to LLVM](https://lists.llvm.org/pipermail/llvm-dev/2021-March/149380.html), noting that's it's frequently raised as a reason for performance differences between GCC and LLVM and that the cost model is where previous proposals have had issues. * Philipp Reames [shared a patch to better document community norms around reverts](https://lists.llvm.org/pipermail/llvm-dev/2021-March/149409.html). * As part of the move from Bugzilla to GitHub, Anton Korobeynikov is [requesting](https://lists.llvm.org/pipermail/llvm-dev/2021-March/149441.html) that users of the LLVM Bugzilla fill out a form to associate any emailed addresses used for that with their GitHub username. * Zequan Wu kicked off a thread on [annotating global functions and variables to prevent identical code folding](https://lists.llvm.org/pipermail/llvm-dev/2021-March/149352.html) during linking. * Clement Courbet initiated an RFC discussion on [adding range metadata to array subscripts](https://lists.llvm.org/pipermail/llvm-dev/2021-March/149390.html), generating a quite a lot of discussion. ## LLVM commits * Lit's progress indicator is now more accurate, as it takes into account timings from previous runs. [962339a5](https://reviews.llvm.org/rG962339a5eca2). * As part of the long-running OpaquePtr work, the inalloca attribute now has a mandatory type argument. [4fefed6](https://reviews.llvm.org/rG4fefed65637e). * A `vscale_range` IR function attribute was added, representing the minimum and maximum values vscale can take. [48f5a39](https://reviews.llvm.org/rG48f5a392cb73). * A new llvm.experimental.stepvector intrinsic was added. [748ae52](https://reviews.llvm.org/rG748ae5281d4f). * GlobalISel learned to lower funnel shifts. [b24436a](https://reviews.llvm.org/rGb24436ac96bd). * targetShrinkDemandedConstant for RISC-V will now preserve `(and X, 0xffffffff)`, which simplifies pattern matching. [c40cea6](https://reviews.llvm.org/rGc40cea6f083a). * An LLJITWithRemoteDebugging example was added. [258f055](https://reviews.llvm.org/rG258f055ed936). ## Clang commits * The RangeSet datastructure used by the static analyzer was redesigned. [02b51e5](https://reviews.llvm.org/rG02b51e5316cd). * Documentation was improved for the `[[clang::lifetimebound]]` attribute. [5fab603](https://reviews.llvm.org/rG5fab60377c1a). * For C++2b (and as an extension, for previous standards with a warning), lambda without a parameter list are accepted. [0620e6f](https://reviews.llvm.org/rG0620e6f4b76a). ## Other project commits * A pre-codegen rewrite pass was added for Flang. [97d8972](https://reviews.llvm.org/rG97d8972c9cd1). * LLDB gained a ScriptedProcess process plugin. [dd391e1](https://reviews.llvm.org/rGdd391e1ef762). * NoTerminator traits were introduced for MLIR, allowing operations with a single block region to not provide a terminator. [973ddb7](https://reviews.llvm.org/rG973ddb7d6e96).