LLVM Weekly - #263, January 14th 2019
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. Subscribe to future issues at https://llvmweekly.org and pass it on to anyone else you think may be interested. Please send any tips or feedback to asb@asbradbury.org, or @llvmweekly or @asbradbury on Twitter.
News and articles from around the web
Apple have released 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 on Jan 19th.
Stephen Kelly has written about his recent presentation on refactoring with Clang tooling.
On the mailing lists
-
Chandler Carruth announces 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. The RFC describes in some detail the implementation Intel will be sharing.
-
James Y Knight announces 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 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. -
Leonard Chan proposes string keys for
address_space
. Amongst other benefits, this will allow for more informative diagnostics. -
Nico Weber provides an update on GN build system support in LLVM.
-
Zachary Turner authored an RFC on simplifying the LLDB SymbolFile interface.
LLVM commits
-
Loop invariant code motion (LICM) was updated to use MemorySSA to do sinking and hoisting. r350879.
-
The RISC-V backend gained patterns for the RV64I SLLW/SRLW/SRAW instructions and for the standard RV64M instruction set extension. r350992, r350993.
-
gn files were added for lib/Target/{AArch64,ARM,WebAssembly,PowerPC}. r350499. r350500, r350628, r350629.
-
An implementation of speculative load hardening for AArch64 was introduced, building on the AArch64SpeculationHardening pass. r350729.
-
llvm-objdump learned the -z/--disassemble-zeroes command-line option. r350823.
Clang commits
-
clang-tidy gained a new checker to indicate certain cases where a member function could be marked as
[[nodiscard]]
. r350760. -
clangd no longer uses
using namespace llvm
. r350531.