[llvm-dev] LLVM Weekly - #300, September 30th 2019

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 30 11:39:23 PDT 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).


More information about the llvm-dev mailing list