[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

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

* Johannes Rudolf Doerfert has written an RFC on [late OpenMP GPU code
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

* Alexey Bader
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
and is looking for help in tracking it down further.

* Yvan Roux has posted an RFC on [adding Machine Outliner support for

## 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.

* 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.

* The LangRef description of volatiles has been clarified.

* 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.

* 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).

* 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.

## Clang commits

* clangd gained an IncludeFixer which can suggest include insertion fixes when
e.g. there is a member access into an incomplete type.

* `_Float16` is now disabled by default for targets other than ARM and SPIR.

* clang-analyzer checkers now declare their dependencies.

## Other project commits

* LLD performance for Identical Code Folding was improved.

* 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