[llvm-dev] LLVM Weekly - #263, January 14th 2019

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 14 10:48:41 PST 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).


More information about the llvm-dev mailing list