Alex Bradbury via llvm-dev
2019-Jan-28 19:25 UTC
[llvm-dev] LLVM Weekly - #265, January 28th 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).