Alex Bradbury via llvm-dev
2020-Sep-28 18:50 UTC
[llvm-dev] LLVM Weekly - #352, September 28th 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).