Alex Bradbury via llvm-dev
2018-Jul-16 19:36 UTC
[llvm-dev] LLVM Weekly - #237, July 16th 2018
LLVM Weekly - #237, July 16th 2018 ================================= If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/237>. Welcome to the two hundred and thirty-seventh 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 The call for papers for the LLVM-HPC2018 workshop at SC18 is [now out](http://lists.llvm.org/pipermail/llvm-dev/2018-July/124592.html). Paper submissions are due for September 1st 2018 and the workshop takes place on November 12th. Bloombeg have released [clang-metatool](https://bloomberg.github.io/clangmetatool/), a framework for reusing code in Clang tools. "When we first started writing clang tools, we realized that there is a lot of life cycle management that we had to repeat. In some cases, people advocate the usage of global variables to manage the life-cycle of that data, but that makes code reuse across tools even harder. Additionally, we also learned that when writing a tool, it will be beneficial if the code is split in two phases. First a data collection phase, and later a post-processing phase that actually performed the bulk of the logic of the tool." ## On the mailing lists * Kirill Bobyrev shares an RFC on [the design of an efficient symbol index for Clangd](http://lists.llvm.org/pipermail/cfe-dev/2018-July/058487.html). * Annie Cherkaev is [seeking feedback](http://lists.llvm.org/pipermail/llvm-dev/2018-July/124572.html) on a tool which statically computes the worst-case stack depth for programs whose call-graphs are statically constrained. This was developed for Zircon. * Maxim Kazantsev kicks off a discussion about [giving up on the @llvm.experimental.guard intrinsic](http://lists.llvm.org/pipermail/llvm-dev/2018-July/124523.html). * Hal Finkel shared an RFC on [adding new nofree and nosynch function attributes](http://lists.llvm.org/pipermail/llvm-dev/2018-July/124555.html). nofree indicates the function doesn't directly or indirectly call a memory de-allocation function. Based on the feedback so far, Hal will move forwards with a full set of patches. * Eric Fiselier is [seeking feedback](http://lists.llvm.org/pipermail/cfe-dev/2018-July/058429.html) on upstreaming new clang-tidy checks useful for developers of libc++. Jonas Toth [points out](http://lists.llvm.org/pipermail/cfe-dev/2018-July/058440.html), there's already precedent for upstreaming project-specific checks (LLVM, Zircon/Fuchsia). * Thomas Preudhomme [proposes](http://lists.llvm.org/pipermail/llvm-dev/2018-July/124598.html) adding support to FileCheck for numeric variables and expressions. * Kristof Beyls provides an [update](http://lists.llvm.org/pipermail/llvm-dev/2018-July/124495.html) on patches for Speculative Load Hardening on AArch64. ## LLVM commits * A new speculative load hardening pass was added for X86, aiming to mitigate Spectre variant #1. [r336990](https://reviews.llvm.org/rL336990). * TableGen gained a general-purpose JSON backend, allowing all records to be exported as a JSON data structure. [r336771](https://reviews.llvm.org/rL336771). * The JSON library originally developed as part of clangd has been moved to llvm/Support. [r336534](https://reviews.llvm.org/rL336534). * The WebAssembly backend gained support for binary atomic read-modify-write operations. [r336615](https://reviews.llvm.org/rL336615). * By default, FileCheck will no longer allow overlapping CHECK-DAG directives. The previous behaviour can be enabled using the `-allow-deprecated-dag-overlap` option. [r336847](https://reviews.llvm.org/rL336847). * It is now possible to define 'PatFrags', a list of multiple alternative patterns that may all match to the same instruction. [r336999](https://reviews.llvm.org/rL336999). ## Clang commits * The new bugprone-exception-escape checker will identify functions that may throw an exception but shouldn't, such as destructors, moves constructors, move assignment operators, noexcept functions and so on. [r336997](https://reviews.llvm.org/rL336997). * clangd now supports indexing macros. [r336553](https://reviews.llvm.org/rL336553). ## Other project commits * LLD gained experimental support for `SHT_RELR` sections. This is a new section type intended to minimize executable size of PIE binaries and shared libraries by reducing the space needed to store relative relocations. [r336594](https://reviews.llvm.org/rL336594). * gcov profiling for big-endian systems was fixed. [r336993](https://reviews.llvm.org/rL336993).