[llvm-dev] LLVM Weekly - #301, October 7th 2019

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 7 11:25:10 PDT 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).


More information about the llvm-dev mailing list