LLVM Weekly - #301, October 7th 2019

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. 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@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. This is an alternative to the LLVM backend that aims to reduce compile time. Jason Ekstrand's (Intel) presentation on How not to write a back-end compiler 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 will end this week.

On the mailing lists

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.

A new llvm-locstats tool was committed, providing information on DWARF location coverage. r373427.

A simplified expansion of S{ADD,SUB}O was added. r373187.

MachineModuleInfo was ported to the new pass manager. r373240.

isNegatibleForFree/GetNegatedExpression were converted into target hooks. r373343.

The PeelingModuleScheduleExpander was extended to peel out prologs and epilogs. r373462.

The AArch64 backend gained support for static allocation/deallocation of SVE stack objects. r373585.

The RISC-V backend will now split the adjustment of the stack pointer when profitable to do so. r373688.

JITLink switched from an "atom-based model" to a "blocks and symbols" model. r373689.

Clang commits

A new clang-format option allows specifying the language version to target. r373439.

TypeNodes.def is now generated by TableGen, and renamed to TypeNodes.inc. r373407, r373425.

Other project commits