[llvm-dev] LLVM Weekly - #352, September 28th 2020

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 28 11:50:42 PDT 2020


LLVM Weekly - #352, September 28th 2020
=======================================

If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/352>.

Welcome to the three hundred and fifty-second 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

Registration closes for the Virtual LLVM Developers' Meeting [on October
1st](http://lists.llvm.org/pipermail/llvm-dev/2020-September/145387.html).

Marek Polacek wrote up a [summary of new C++ features in GCC
10](https://developers.redhat.com/blog/2020/09/24/new-c-features-in-gcc-10/).


## On the mailing lists

* Min-Yih Hsu [proposed a Motorola 68000 backend for inclusion in
LLVM](http://lists.llvm.org/pipermail/llvm-dev/2020-September/145320.html).

* Fatih Bakir [proposed a basic block cloning enhancement for the Propeller
link time function layout
optimisations](http://lists.llvm.org/pipermail/llvm-dev/2020-September/145357.html).

* Alan Phipps [started a discussion about improving jump-threading
optimisation in
LLVM](http://lists.llvm.org/pipermail/llvm-dev/2020-September/145273.html) to
help with e.g. CoreMark `core_state_transition`. Sjoerd Meijer [mentioned some
in-progress
work](http://lists.llvm.org/pipermail/llvm-dev/2020-September/145290.html)
related to this.

* LLVM 11.0.0-rc3 [is now
available](http://lists.llvm.org/pipermail/llvm-dev/2020-September/145233.html).

* Anton Zabaznov wrote an RFC on [OpenCL C 3.0 support in
Clang](http://lists.llvm.org/pipermail/cfe-dev/2020-September/066883.html).


## LLVM commits

* A TableGen Backend Developer's Guide was added.
[848d66f](https://reviews.llvm.org/rG848d66fafd2).

* A scheduling model was added for the Cortex-A55.
[4b8ade8](https://reviews.llvm.org/rG4b8ade837e3).

* DeadInstEliminationPass was removed. DeadCodeEliminationPass should be used
instead. [f4f7df0](https://reviews.llvm.org/rGf4f7df037e7).

* ThinLTO will now sort modules in order of largest first, allowing better
multi-thread load balancing and faster builds.
[6537004](https://reviews.llvm.org/rG6537004913f).

* LLVM's JSON library gained support for tracking position within an object
and reporting errors. [16619e7](https://reviews.llvm.org/rG16619e7139b),
[fa69b60](https://reviews.llvm.org/rGfa69b608063).

* Codegen support was added for AArch64 PAC/BTI (Pointer Authentication Code /
Branch Target Identification).
[a88c722](https://reviews.llvm.org/rGa88c722e687).

* Scheduler definitions were added for the RISC-V Bullet microarchitecture.
[764c1b7](https://reviews.llvm.org/rG764c1b7a4db).


## Clang commits

* A new cppcoreguidelines-prefer-member-initializer check was added to
identify member initialisations in the constructor body that can be placed in
the initialisation list instead.
[4fc0214](https://reviews.llvm.org/rG4fc0214a101).

* Sema support was added for a new `__swift_name__`, `__swift_newtype__`, and
`__swift_private__` attributes.
[9bb5ecf](https://reviews.llvm.org/rG9bb5ecf1f76),
[296d883](https://reviews.llvm.org/rG296d8832a3b),
[58cdbf5](https://reviews.llvm.org/rG58cdbf518b6).

* A new alpha.webkit.UncountedLocalVarsChecker was added. This check aims to
ensure any uncounted local variable is backed by a ref-counted object with
sufficient lifetime. [8a64689](https://reviews.llvm.org/rG8a64689e264).

* String tables are now used for static diagnostic descriptions, removing
about 120KB of relocations in Clang.
[31a3c5f](https://reviews.llvm.org/rG31a3c5fb45b).

* Support was added for a new function coverage groups XRay mode.
[6f7fbdd](https://reviews.llvm.org/rG6f7fbdd2857).

* clang-format gained a MacroExpander capable of expanding simple
non-recursive macro definitions.
[e336b74](https://reviews.llvm.org/rGe336b74c995).


## Other project commits

* A "trace" plugin was added to LLDB, providing the starting point for process
trace support. [74c9395](https://reviews.llvm.org/rG74c93956e1c).

* The Mach-O LLD linker implemented support for PIC and absolute symbols.
[e4e673e](https://reviews.llvm.org/rGe4e673e75a0),
[62a3f0c](https://reviews.llvm.org/rG62a3f0c9844).

* MLIR now has a new kind of pass - a dynamic pass pipeline.
[385c3f4](https://reviews.llvm.org/rG385c3f43fce).

* libcxx gained more constexpr containers (C++20 P0784).
[0724f8b](https://reviews.llvm.org/rG0724f8bf47f).

* libcxx gained initial pre-commit CI infrastructure using BuildKite.
[9f21d34](https://reviews.llvm.org/rG9f21d341e83).


More information about the llvm-dev mailing list