[llvm-dev] LLVM Weekly - #229, May 21st 2018

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon May 21 11:55:29 PDT 2018


LLVM Weekly - #229, May 21st 2018
=================================

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

Welcome to the two hundred and twenty-ninth 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

LLVM 5.0.2 has [been
released](http://lists.llvm.org/pipermail/llvm-announce/2018-May/000078.htm).
The main addition is mitigation for Spectre Variant 2 for X86 and MIPS.


## On the mailing lists

* Philip Reames
[proposes](http://lists.llvm.org/pipermail/llvm-dev/2018-May/123393.html)
changing the representation of guards so they are considered explicit control
flow rather than implicit control flow - i.e. they are considered to be a
possible terminator. Philip suggests that although the current representation
has advantages, updating upstream optimisation passes to support it would be a
huge amount of work. Responses so far are in favour.

* Vedant Kumar
[suggests](http://lists.llvm.org/pipermail/llvm-dev/2018-May/123310.html)
removing tools that are only useful for testing LLVM from the binary
LLVM+Clang distribution, noting tools like clang-check contribute
significantly to the installed size. Feedback is being sought in that thread.

* Fabien Giesen
[started](http://lists.llvm.org/pipermail/llvm-dev/2018-May/123292.html) a
discussion on rotate instructions, suggesting that rotate intrinsics should be
added. Sanjay Patel has some [interesting
thoughts](http://lists.llvm.org/pipermail/llvm-dev/2018-May/123383.html) on
potential criteria or informal measures for the benefit of adding an
intrinsic.

* Chandler Carruth posted an RFC on [simplifying the IR type system by
removing
TerminatorInst](http://lists.llvm.org/pipermail/llvm-dev/2018-May/123407.html).
The aim would be to remove TerminatoINst, which would allow CallInst and
InvokeInst to share a base class and allow the removal of the CallSite
abstraction.

* Tom Stellard is getting ready for the 6.0.1 release, with rc2
[scheduled](http://lists.llvm.org/pipermail/llvm-dev/2018-May/123389.html) for
May 25th.

* Jens Widell has
[summarized](http://lists.llvm.org/pipermail/cfe-dev/2018-May/058003.html) the
thread on 'JumboSupport'/unity builds in Clang and proposes a path forwards.

* Alexey Sidorin has
[shared](http://lists.llvm.org/pipermail/cfe-dev/2018-May/057985.html)
proof-of-concept work on a new API for specifying a graph patcher for Clang
static analyzer.


## LLVM commits

* A new script has been added to utils/ which will try to match open
Phabricator reviews with potential reviewers. This script was mentioned at a
EuroLLVM lightning talk. [r332711](https://reviews.llvm.org/rL332711).

* GlobalISel now splits aggregates during IR translation, which is necessary
to support big endian code correctly.
[r332449](https://reviews.llvm.org/rL332449).

* The DEBUG macro has been renamed to `LLVM_DEBUG`.
[r332240](https://reviews.llvm.org/rL332240).

* llvm-mca gained the abstraction of a pipeline stage, and now includes a
simple FetchStage. [r332390](https://reviews.llvm.org/rL332390).

* SimplifyLibCalls learned to replace locked IO with unlocked IO when this can
be proven to be safe. [r332452](https://reviews.llvm.org/rL332452).

* The MC Assembler now matches the behaviour of the GNU assembler for
comparison operators. [r332215](https://reviews.llvm.org/rL332215).

* LLVM's signal handling code is now signal-safe.
[r332496](https://reviews.llvm.org/rL332496).

* You can now use `-Rpass-analysis=size-info` to have remarks printed which
describe when a pass changes the number of IR instructions in a module.
[r332739](https://reviews.llvm.org/rL332739).


## Clang commits

* diagtool was added to the Clang install target and so will ship with the
LLVM release. It now has a man page too.
[r332448](https://reviews.llvm.org/rL332448).

* Early textual substitutions can now be performed for Diagnostic messages
specified in TableGen. This is intended to avoid repeating strings verbatim in
multiple diagnostics. [r332799](https://reviews.llvm.org/rL332799).


## Other project commits

* The XRay Function Call Trie datastructure was implemented in compiler-rt in
order to support XRay Profiling Mode.
[r332313](https://reviews.llvm.org/rL332313).

* LLD gained support for the `--keep-unique` option, as supported by gold.
[r332332](https://reviews.llvm.org/rL332332).


More information about the llvm-dev mailing list