Alex Bradbury via llvm-dev
2019-Jan-14 18:48 UTC
[llvm-dev] LLVM Weekly - #263, January 14th 2019
LLVM Weekly - #263, January 14th 2019 =================================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/263>. Welcome to the two hundred and sixty-third 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 Apple have released [sourcekit-lsp](https://github.com/apple/sourcekit-lsp), a Language Server Protocol implementation for Swift and C-based languages. It is built on top of sourcekitd and clangd. The 5th LLVM/GCC Social in Nanjing [will take place](http://lists.llvm.org/pipermail/llvm-dev/2019-January/128938.html) on Jan 19th. Stephen Kelly has written [about his recent presentation on refactoring with Clang tooling](https://steveire.wordpress.com/2019/01/02/refactor-with-clang-tooling-at-codedive-2018/). ## On the mailing lists * Chandler Carruth [announces](http://lists.llvm.org/pipermail/llvm-dev/2019-January/129069.html) that the new LLVM license and developer policy will be in place as of this Friday 18th January. In order to retain commit access after Friday, you must be covered by a corporate and/or individual agreement. * Alexey Bader shared an RFC on [adding SYCL programming model support to LLVM/Clang](http://lists.llvm.org/pipermail/cfe-dev/2019-January/060811.html). The RFC describes in some detail the implementation Intel will be sharing. * James Y Knight [announces](http://lists.llvm.org/pipermail/llvm-dev/2019-January/129027.html) that the official LLVM git monorepo has been published. There should be no further rewrites that invalidate commit hashes. * Aras Pranckevicius has an RFC for a [new -ftime-trace option](http://lists.llvm.org/pipermail/cfe-dev/2019-January/060836.html) for Clang, producing output in Chrome Tracing Format. This aims to overcome some of the limitations of `-ftime-report`. There is also a [companion blog post](http://aras-p.info/blog/2019/01/12/Investigating-compile-times-and-Clang-ftime-report/). * Leonard Chan [proposes string keys for `address_space`](http://lists.llvm.org/pipermail/llvm-dev/2019-January/129040.html). Amongst other benefits, this will allow for more informative diagnostics. * Nico Weber [provides an update](http://lists.llvm.org/pipermail/llvm-dev/2019-January/128936.html) on GN build system support in LLVM. * Zachary Turner authored an RFC on [simplifying the LLDB SymbolFile interface](http://lists.llvm.org/pipermail/lldb-dev/2019-January/014584.html). ## LLVM commits * Loop invariant code motion (LICM) was updated to use MemorySSA to do sinking and hoisting. [r350879](https://reviews.llvm.org/rL350879). * The RISC-V backend gained patterns for the RV64I SLLW/SRLW/SRAW instructions and for the standard RV64M instruction set extension. [r350992](https://reviews.llvm.org/rL350992), [r350993](https://reviews.llvm.org/rL350993). * gn files were added for lib/Target/{AArch64,ARM,WebAssembly,PowerPC}. [r350499](https://reviews.llvm.org/rL350499). [r350500](https://reviews.llvm.org/rL350500), [r350628](https://reviews.llvm.org/rL350628), [r350629](https://reviews.llvm.org/rL350629). * An implementation of speculative load hardening for AArch64 was introduced, building on the AArch64SpeculationHardening pass. [r350729](https://reviews.llvm.org/rL350729). * llvm-objdump learned the -z/--disassemble-zeroes command-line option. [r350823](https://reviews.llvm.org/rL350823). ## Clang commits * clang-tidy gained a new checker to indicate certain cases where a member function could be marked as `[[nodiscard]]`. [r350760](https://reviews.llvm.org/rL350760). * clangd no longer uses `using namespace llvm`. [r350531](https://reviews.llvm.org/rL350531). ## Other project commits * AddressSanitizer can now run without /proc. [r350590](https://reviews.llvm.org/rL350590). * compiler-rt now has implementations of builtins to convert long double to uint128 and int128 to long double. [r350815](https://reviews.llvm.org/rL350815), [r350818](https://reviews.llvm.org/rL350818). * LLD now has basic support for linking static MSP430 ELF code. [r350819](https://reviews.llvm.org/rL350819).