[llvm-dev] LLVM Weekly - #265, January 28th 2019

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 28 11:25:18 PST 2019


LLVM Weekly - #265, January 28th 2019
=====================================

If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/265>.

Welcome to the two hundred and sixty-fifth 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

Papers have been
[published](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/) for the
next C++ standards meeting.


# On the mailing lists

* Vedant Kumar [shares an
update](http://lists.llvm.org/pipermail/llvm-dev/2019-January/129606.html) on
the status of the hot/cold splitting pass, including some early performance
results.

* Johannes Rudolf Doerfert has written an RFC on [late OpenMP GPU code
'SPMD-zation'](http://lists.llvm.org/pipermail/llvm-dev/2019-January/129423.html).
This involves a new middle-end LLVM IR pass that tries to convert guarded mode
code to SPMD mode. After some discussions on-list and IRC, Johannes [clarified
the idea
further](http://lists.llvm.org/pipermail/llvm-dev/2019-January/129458.html).

* Alexey Bader
[reports](http://lists.llvm.org/pipermail/cfe-dev/2019-January/061055.html)
that Intel's SYCL compiler and runtime sources are [now on
GitHub](https://github.com/intel/llvm/tree/sycl) and they intend to start
sending patches for review in the coming weeks.

* Craig Topper [provides an
update](http://lists.llvm.org/pipermail/llvm-dev/2019-January/129459.html) on
the status of asm-goto support in Clang/LLVM.

* David Chisnall has [identified a MemorySSA related
regression](http://lists.llvm.org/pipermail/llvm-dev/2019-January/129640.html)
and is looking for help in tracking it down further.

* Yvan Roux has posted an RFC on [adding Machine Outliner support for
ARM](http://lists.llvm.org/pipermail/llvm-dev/2019-January/129415.html).


## LLVM commits

* The agreed toolchain update policy is now documented in the LLVM Developer
Policy. [r351765](http://reviews.llvm.org/rL351675).

* atomicrmw now supports fadd and fsub.
[r351850](http://reviews.llvm.org/rL351870),
[r351851](http://reviews.llvm.org/rL351851).

* ADT headers no longer use `__attribute__((always_inline)`. Instead, people
are recommended to compile a Release build in order to get better performance
executing the unit tests. [r351891](http://reviews.llvm.org/rL351891).

* MS SEH extensions `__try/__except/__finally` are now supported for AArch64
COFF. [r351370](http://reviews.llvm.org/rL351370).

* ScalarEvolution now computes expression sizes estimates.
[r351725](http://reviews.llvm.org/rL351725).

* The LangRef description of volatiles has been clarified.
[r351772](http://reviews.llvm.org/rL351772).

* HWASan memory access checks are now emitted using small outlined functions
on AArch64, meaning there is much less code size bloat but slightly higher
performance overhead. [r351920](http://reviews.llvm.org/rL351920).

* HotColdSplit is now run earlier in the pipeline, resulting in substantial
code size benefits. See the commit message for full details.
[r352080](http://reviews.llvm.org/rL352080).

* i32 variable shifts and sdiv/udiv/urem are now custom-legalised to
target-specific nodes. This results in a more reliable selection of the
relevant `*W` instruction (e.g. SLLW, DIVUW etc).
[r352169](http://reviews.llvm.org/rL352169),
[r352171](http://reviews.llvm.org/rL352171).

* A new TableGen language feature `!cond` was added, providing an alternative
to nested `!f`. [r351285](http://reviews.llvm.org/rL351285).

* HotColdSplit gained a new cost model to control splitting behaviour.
[r352228](http://reviews.llvm.org/rL352228).


## Clang commits

* clangd gained an IncludeFixer which can suggest include insertion fixes when
e.g. there is a member access into an incomplete type.
[r352361](http://reviews.llvm.org/rL352361).

* `_Float16` is now disabled by default for targets other than ARM and SPIR.
[r352221](http://reviews.llvm.org/rL352221).

* clang-analyzer checkers now declare their dependencies.
[r352287](http://reviews.llvm.org/rL352287).


## Other project commits

* LLD performance for Identical Code Folding was improved.
[r351899](https://reviews.llvm.org/rL351899).

* The LLDB build system was updated to use the host llvm-tblgen binary when
cross-compiling. [r352235](https://reviews.llvm.org/rL352235).


More information about the llvm-dev mailing list