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 https://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
-
Sander De Smalen gives an update on support for vscale in LLVM, an important piece of scalable vector support. Robin Kruppe explains how this interacts with the RISC-V Vector extension and its dynamic variable length.
-
Jeroen Dobbelaere announces that Synopsys is contributing its implementation of C99 restrict to the LLVM project and reposted the previous RFC with better formatting. A long patch series is posted for review.
-
Maksim Panchenko from Facebook gave very detailed feedback on the proposal for the Propeller post-link optimiser. Sriraman Tallam responded.
-
Alexey Bader is organising a SYCL round table at the LLVM Dev Meeting and is seeking feedback on the topics.
-
Julian Lettner listed some small lit improvements he intends to work on.
-
Motivated by a Dart to LLVM project, Jake Ehrlich proposes adding llvm.experimental.gc intrinsics for inttoptr and ptrtoint. Jameson Nash feeds back how Julia achieves something similar.
-
Serge Pavlov proposes using basic block attributes to implement non-default floating point environments. Reid Kleckner comments 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. -
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.