Alex Bradbury via llvm-dev
2019-Sep-30 18:39 UTC
[llvm-dev] LLVM Weekly - #300, September 30th 2019
LLVM Weekly - #300, September 30th 2019 ====================================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/300>. Welcome to the three hundredth 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. This week marks another major milestone for LLVM Weekly - 300 issues, every single Monday with zero gaps. Thank you for reading! ## News and articles from around the web The SN Systems blog gives an [introducing to Clang's time trace feature](https://www.snsystems.com/technology/tech-blog/clang-time-trace-feature). [Slides](https://github.com/CppCon/CppCon2019) and [videos](https://www.youtube.com/playlist?list=PLHTh1InhhwT6KhvViwRiTR7I5s09dLCSw) are now available from CppCon 2019. [Slides](https://gcc.gnu.org/wiki/cauldron2019#Abstracts) and [videos](https://www.youtube.com/playlist?list=PL_GiHdX17Wtx2Bu1O_bREetZZv4moIaRi) are now available from the GNU Tools Cauldron 2019. ## On the mailing lists * Sriraman Tallam posted an RFC on [Propeller: a framework for post-link optimisations](http://lists.llvm.org/pipermail/llvm-dev/2019-September/135393.html). Inspired by the performance gained demonstrated through Facebook's BOLT effort, this project from Google aims to perform similar post-link optimisataions in a more scalable way. * Alexey Lapshin [proposes adding support to LLD for removing obsolete debug info](http://lists.llvm.org/pipermail/llvm-dev/2019-September/135068.html). He demonstrated large size reduction on debug builds LLVM using a prototype of this approach. Respondents suggested pursuing code reuse with dysmutil. * Sanjay Patel gives a heads up on [recent changes to add flags/metadata/attributes on phi nodes](http://lists.llvm.org/pipermail/llvm-dev/2019-September/135444.html). * David Tallenbach started a discussion on [cases where generated assembly differs depending on presence of debug information](http://lists.llvm.org/pipermail/llvm-dev/2019-September/135433.html). He outlines potential solutions to the issue. * Bardia Mahjour shares [minutes from the loop optimisation working group meeting on September 25th](http://lists.llvm.org/pipermail/llvm-dev/2019-September/135415.html). The topics discussed include deliniearisation, DomTreeUpdater issues, and work on the data dependence graph. * Michael Woerister gave an [update on attempts to exploit PGO for Rust](http://lists.llvm.org/pipermail/llvm-dev/2019-September/135383.html). An issue with differing symbol names in cargo-produced binaries was resolved, but unfortunately PGO still fails to show a performance improvement for the "medium-sized" benchmark being used. * Reid Kleckner proposes -adding [-fgnuc-version=x.y.z](http://lists.llvm.org/pipermail/cfe-dev/2019-September/063403.html) to Clang to allow users to set `__GNUC__` or disable all GCC macros. ## LLVM commits * LoopFusion can now fuse guarded loops. [r373018](https://reviews.llvm.org/rL373018). * llvm-objcopy command-line parsing was factored into cross-platform and ELF-specific option parsing. [r372712](https://reviews.llvm.org/rL372712). * The AMD GPU assembler documentation was updated. [r372857](https://reviews.llvm.org/rL372857). * The LLVM C API was extended to expose the atomicrmw and cmpxchg volatile flags. [r372938](https://reviews.llvm.org/rL372938). * The LLVM user guide page gained a new section for articles related to building, packaging, and distributing LLVM. [r373113](https://reviews.llvm.org/rL373113). ## Clang commits * clang-format gained support for the Whitesmiths indentation style. [r372497](https://reviews.llvm.org/rL372497). * libTooling now has a new library of source-code builders. [r372595](https://reviews.llvm.org/rL372595). * Explicit destructor calls and pseudo-destructor calls are now supported in constant evaluation, and Clang can also compute whether a variable has constant destruction if it has a constexpr evaluator. [r373122](https://reviews.llvm.org/rL373122), [r373159](https://reviews.llvm.org/rL373159). ## Other project commits * LLDB no longer relies on looking at imported module DWARF tags for importing the std C++ module. [r372716](https://reviews.llvm.org/rL372716). * LLDB gained a new stack scanning mechanism to support win32 unwinding. [r373072](https://reviews.llvm.org/rL373072).