Alex Bradbury via llvm-dev
2019-Oct-07 18:25 UTC
[llvm-dev] LLVM Weekly - #301, October 7th 2019
LLVM Weekly - #301, October 7th 2019 =================================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/301>. Welcome to the three hundred and first 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 At the X.Org Developers' Conference, Bas Nieuwenhuizen and Daniel Schürmann presented on [ACO, a new compiler backend for GCN GPUs](https://xdc2019.x.org/event/5/contributions/334/attachments/431/683/ACO_XDC2019.pdf). This is an alternative to the LLVM backend that aims to reduce compile time performance. Jason Ekstrand's (Intel) presentation on [How not to write a back-end compiler](https://xdc2019.x.org/event/5/contributions/325/attachments/416/666/How_to_not_write_a_back-end_compiler.pdf) may also be of interest for those who wish to learn more about GPU compilation challenges. Ticket sales for the LLVM Foundations [Women in Compilers and Tools Workshop](https://www.eventbrite.com/e/2019-llvm-foundations-women-in-compilers-and-tools-workshop-tickets-64471042624) will end this week. ## On the mailing lists * Sander De Smalen gives an [update on support for vscale in LLVM](http://lists.llvm.org/pipermail/llvm-dev/2019-September/135512.html), an important piece of scalable vector support. Robin Kruppe [explains how this interacts with the RISC-V Vector extension](http://lists.llvm.org/pipermail/llvm-dev/2019-October/135560.html) and its dynamic variable length. * Jeroen Dobbelaere [announces](http://lists.llvm.org/pipermail/llvm-dev/2019-October/135667.html) that Synopsys is contributing its implementation of C99 restrict to the LLVM project and [reposted the previous RFC](http://lists.llvm.org/pipermail/llvm-dev/2019-October/135672.html) with better formatting. A long patch series is [posted for review](https://reviews.llvm.org/D68484). * Maksim Panchenko from Facebook gave [very detailed feedback](http://lists.llvm.org/pipermail/llvm-dev/2019-October/135616.html) on the proposal for the Propeller post-link optimiser. Sriraman Tallam [responded](http://lists.llvm.org/pipermail/llvm-dev/2019-October/135629.html). * Alexey Bader is organising a SYCL round table at the LLVM Dev Meeting and [is seeking feedback on the topics](http://lists.llvm.org/pipermail/cfe-dev/2019-October/063476.html). * Julian Lettner listed some [small lit improvements](http://lists.llvm.org/pipermail/llvm-dev/2019-October/135665.html) he intends to work on. * Motivated by a Dart to LLVM project, Jake Ehrlich proposes [adding llvm.experimental.gc intrinsics for inttoptr and ptrtoint](http://lists.llvm.org/pipermail/llvm-dev/2019-September/135555.html). Jameson Nash feeds back [how Julia achieves something similar](http://lists.llvm.org/pipermail/llvm-dev/2019-October/135581.html). * Serge Pavlov proposes [using basic block attributes to implement non-default floating point environments](http://lists.llvm.org/pipermail/llvm-dev/2019-September/135559.html). Reid Kleckner [comments](http://lists.llvm.org/pipermail/llvm-dev/2019-October/135646.html) that the ability to attach attributes to basic blocks would be a major LLVM change, and that other potential uses should be considered at the same time. ## LLVM commits * TableGen gained a new generic backend for generating deterministic finite-state automata, aiming to be more generic than the existing `gen-dfa-packetizer` backend. [r373718](https://reviews.llvm.org/rL373718). * A new llvm-locstats tool was committed, providing information on DWARF location coverage. [r373427](https://reviews.llvm.org/rL37427). * A simplified expansion of `S{ADD,SUB}O` was added. [r373187](https://reviews.llvm.org/rL373187). * MachineModuleInfo was ported to the new pass manager. [r373240](https://reviews.llvm.org/rL373240). * isNegatibleForFree/GetNegatedExpression were converted into target hooks. [r373343](https://reviews.llvm.org/rL373343). * The PeelingModuleScheduleExpander was extended to peel out prologs and epilogs. [r373462](https://reviews.llvm.org/rL373462). * The AArch64 backend gained support for static allocation/deallocation of SVE stack objects. [r373585](https://reviews.llvm.org/rL373585). * The RISC-V backend will now split the adjustment of the stack pointer when profitable to do so. [r373688](https://reviews.llvm.org/rL373688). * JITLink switched from an "atom-based model" to a "blocks and symbols" model. [r373689](https://reviews.llvm.org/rL373689). ## Clang commits * A new clang-format option allows specifying the language version to target. [r373439](https://reviews.llvm.org/rL373439). * TypeNodes.def is now generated by TableGen, and renamed to TypeNodes.inc. [r373407](https://reviews.llvm.org/rL373407), [r373425](https://reviews.llvm.org/rL373425). ## Other project commits * LLVM's new libc project gained its first code commit, adding some ore docs as well as strcpy and strcat implementations. [r373764](https://reviews.llvm.org/rL373764). * lldb-instr now has some documentations. [r373277](https://reviews.llvm.org/rL373277).